name: Publish on: push: tags: - '*' jobs: publish: name: Publish for ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: name: [ linux, windows, macos ] include: - name: linux os: ubuntu-latest artifact_name: target/release/ asset_name: caesar-linux - name: windows os: windows-latest artifact_name: target/release/.exe asset_name: caesar-windows - name: macos os: macos-latest artifact_name: target/release/ asset_name: caesar-macos steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable - name: Build run: cargo build --release --locked - name: Upload binaries to release uses: actions/upload-artifact@v2 with: name: ${{ matrix.asset_name }} path: ${{ matrix.artifact_name }}