Skip to content

Bump version

Bump version #37

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
jobs:
publish:
name: Release for ${{ matrix.config.target }} / ${{ matrix.config.os }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- os: ubuntu-latest
artifact_name: rusty_slider
zip_file: rusty-slider-linux.tar.gz
asset_name: rusty-slider-linux-$tag.tar.gz
directory: rusty-slider-linux-${{ github.ref_name }}
target: 'x86_64-unknown-linux-gnu'
- os: windows-latest
artifact_name: rusty_slider.exe
zip_file: rusty-slider-windows.zip
asset_name: rusty-slider-windows-$tag.zip
directory: rusty-slider-windows-${{ github.ref_name }}
target: 'x86_64-pc-windows-msvc'
- os: macos-latest
artifact_name: rusty_slider
zip_file: rusty-slider-macos.zip
asset_name: rusty-slider-macos-$tag.zip
directory: rusty-slider-macos-${{ github.ref_name }}
target: 'x86_64-apple-darwin'
- os: ubuntu-latest
artifact_name: rusty_slider.wasm
zip_file: rusty-slider-wasm.zip
asset_name: rusty-slider-wasm-$tag.zip
directory: rusty-slider-wasm-${{ github.ref_name }}
target: 'wasm32-unknown-unknown'
include:
- os: ubuntu-latest
packages: libx11-dev libxi-dev libgl1-mesa-dev gcc-mingw-w64 libasound2-dev
steps:
- uses: actions/checkout@v2
- name: Install packages (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get -yq --no-install-suggests --no-install-recommends install ${{ matrix.packages }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.config.target }}
override: true
- name: Workaround MinGW issue # https://github.com/rust-lang/rust/issues/47048
if: runner.os == 'Linux' && matrix.config.target == 'x86_64-pc-windows-gnu'
run: |
sudo cp /usr/x86_64-w64-mingw32/lib/dllcrt2.o ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/dllcrt2.o
sudo cp /usr/x86_64-w64-mingw32/lib/crt2.o ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/crt2.o
echo "[target.x86_64-pc-windows-gnu]" >> ~/.cargo/config
echo "linker = \"/usr/bin/x86_64-w64-mingw32-gcc\"" >> ~/.cargo/config
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --locked --all-targets --target=${{ matrix.config.target }}
- name: Zip release archive
if: matrix.config.target == 'wasm32-unknown-unknown'
run: |
mkdir ${{ matrix.config.directory }}
cp -pR assets ${{ matrix.config.directory }}/
cp -pR target/${{ matrix.config.target }}/release/${{ matrix.config.artifact_name }} demo/*.html demo/*.js demo/*.json ${{ matrix.config.directory }}/
zip -r ${{ matrix.config.zip_file }} ${{ matrix.config.directory }}
- name: Zip release archive
if: matrix.config.target == 'x86_64-unknown-linux-gnu'
run: |
mkdir ${{ matrix.config.directory }}
cp -pR assets ${{ matrix.config.directory }}/
cp target/${{ matrix.config.target }}/release/${{ matrix.config.artifact_name }} ${{ matrix.config.directory }}/
tar -zcf ${{ matrix.config.zip_file }} ${{ matrix.config.directory }}
- name: Zip release archive
if: runner.os == 'Windows' || runner.os == 'macOS'
run: |
mkdir -p ${{ matrix.config.directory }}
cp -R assets ${{ matrix.config.directory }}/
cp target/${{ matrix.config.target }}/release/${{ matrix.config.artifact_name }} ${{ matrix.config.directory }}/
7z a -tzip ${{ matrix.config.zip_file }} ${{ matrix.config.directory }}
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ matrix.config.zip_file }}
asset_name: ${{ matrix.config.asset_name }}
tag: ${{ github.ref }}