v0.5.0 #7
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release binaries | |
| on: | |
| release: | |
| types: | |
| - published | |
| workflow_dispatch: | |
| permissions: {} | |
| jobs: | |
| build: | |
| name: Build for ${{ matrix.target }} | |
| runs-on: ${{ matrix.runner }} | |
| strategy: | |
| matrix: | |
| include: | |
| - runner: ubuntu-latest | |
| target: x86_64-unknown-linux-gnu | |
| - runner: ubuntu-22.04-arm | |
| target: aarch64-unknown-linux-gnu | |
| - runner: macos-latest | |
| target: x86_64-apple-darwin | |
| - runner: macos-latest | |
| target: aarch64-apple-darwin | |
| - runner: windows-latest | |
| target: x86_64-pc-windows-msvc | |
| - runner: windows-latest | |
| target: aarch64-pc-windows-msvc | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust target | |
| run: | | |
| rustup update | |
| rustup target add "${TARGET}" | |
| env: | |
| TARGET: ${{ matrix.target }} | |
| shell: bash | |
| - name: Build release | |
| run: cargo build --release --features hooks,streaming --target "${TARGET}" | |
| env: | |
| TARGET: ${{ matrix.target }} | |
| shell: bash | |
| - name: Archive release | |
| id: archive-release | |
| run: ./support/archive-release.sh | |
| env: | |
| TARGET: ${{ matrix.target }} | |
| shell: bash | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 | |
| with: | |
| name: artifacts-${{ matrix.target }} | |
| path: ${{ steps.archive-release.outputs.filename }} | |
| if-no-files-found: error | |
| release: | |
| name: Upload release artifacts | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.event_name == 'release' | |
| permissions: | |
| id-token: write # for attestations | |
| attestations: write # for attestations | |
| contents: write # for release artifacts | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Download artifacts | |
| uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 | |
| with: | |
| pattern: artifacts-* | |
| path: distrib/ | |
| merge-multiple: true | |
| - name: List artifacts | |
| run: ls -l distrib/ | |
| - name: Attest build provenance | |
| uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0 | |
| with: | |
| subject-path: "distrib/*" | |
| - name: Upload to release | |
| run: gh release upload "${GITHUB_REF_NAME}" distrib/* | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |