name: Build on: push: jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: - windows-latest - ubuntu-latest - macos-latest fail-fast: true steps: - uses: actions/checkout@v2 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable default: true - name: (Linux) Install libxcb-composite if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install -y libxcb-composite0-dev - name: Build binary run: | cargo build --verbose --release env: MACOSX_DEPLOYMENT_TARGET: 10.14 - name: (Linux/MacOS) Strip binary if: matrix.os != 'windows-latest' run: strip target/release/stevenarella - name: Move binary run: | if [[ ${{ matrix.os }} == windows ]]; then mv target/release/stevenarella.exe stevenarella-${{ matrix.os }}.exe else mv target/release/stevenarella stevenarella-${{ matrix.os }} fi shell: bash - name: Upload binary uses: actions/upload-artifact@v2 with: name: stevenarella-${{ matrix.os }} path: stevenarella* - name: Release binary if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v1 with: files: | stevenarella* env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}