ci: document why the SLSA generator must be tag-pinned (not SHA) (#268) #359
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: Bindings | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: read-all | |
| jobs: | |
| constant-parity: | |
| name: Binding Constant Parity | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - name: Check wrapper constants match sbom_tools.h | |
| run: ./scripts/check-binding-constants.sh | |
| dagger-rust-sdk: | |
| name: Dagger CI (workspace check + staticlib + FFI tests + Go bindings) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master | |
| with: | |
| toolchain: stable | |
| - name: Cache Rust | |
| uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| - name: Run Dagger Rust SDK pipeline | |
| run: cargo run --manifest-path dagger/rust-sdk/Cargo.toml -- ci-all | |
| rust-ffi: | |
| name: Rust FFI | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master | |
| with: | |
| toolchain: stable | |
| - name: Cache | |
| uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| - name: Build FFI library | |
| run: bash ./scripts/build-bindings-mvp.sh | |
| - name: Test FFI ABI | |
| run: cargo test --locked --features ffi --test ffi_bindings | |
| - name: Test ABI snapshot contracts | |
| run: cargo test --locked --features ffi --test ffi_schema_snapshots | |
| - name: Test FFI conformance (bidirectional ABI) | |
| run: cargo test --locked --features ffi --test conformance_ffi | |
| - name: Test FFI regression (PR #113 + multi-format) | |
| run: cargo test --locked --features ffi --test ffi_regression | |
| go-bindings: | |
| name: Go Bindings (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master | |
| with: | |
| toolchain: stable | |
| - name: Set up Go | |
| uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 | |
| with: | |
| go-version: '1.22' | |
| - name: Cache Rust | |
| uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| - name: Build Rust library | |
| run: bash ./scripts/build-bindings-mvp.sh | |
| - name: Test Go wrapper | |
| working-directory: bindings/go | |
| run: go test ./... | |
| - name: Test Go dedup helpers | |
| run: ./scripts/test-bindings-dedup.sh go | |
| swift-bindings: | |
| name: Swift Bindings | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master | |
| with: | |
| toolchain: stable | |
| - name: Build Rust library | |
| run: bash ./scripts/build-bindings-mvp.sh | |
| - name: Build and test Swift wrapper | |
| working-directory: bindings/swift | |
| run: swift test | |
| - name: Test Swift dedup helpers | |
| run: ./scripts/test-bindings-dedup.sh swift |