on:
release:
types: [created]
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - run: |
cargo test --all-features --verbose
build:
needs: [test]
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- runner: ubuntu-22.04
target: x86_64-unknown-linux-musl
- runner: ubuntu-22.04
target: aarch64-unknown-linux-musl
- runner: macos-15
target: x86_64-apple-darwin
- runner: macos-15-arm
target: aarch64-apple-darwin
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 with:
targets: ${{ matrix.target }}
- run: |
./bin/build ${{ matrix.target }} ${{ github.ref }}
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 with:
name: nb-${{ matrix.target }}
path: nb-*
release:
name: Release
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
needs: [build]
permissions:
id-token: write
contents: write
attestations: write
steps:
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 - run: |
sha256sum *.tar.gz >SHA256SUMS
- uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a with:
subject-path: 'nb-*'
subject-checksums: SHA256SUMS
- uses: svenstaro/upload-release-action@81c65b7cd4de9b2570615ce3aad67a41de5b1a13 with:
file: '*.tar.gz'
file_glob: true
- uses: svenstaro/upload-release-action@81c65b7cd4de9b2570615ce3aad67a41de5b1a13 with:
file: SHA256SUMS