Skip to content

ci: document why the SLSA generator must be tag-pinned (not SHA) (#268) #359

ci: document why the SLSA generator must be tag-pinned (not SHA) (#268)

ci: document why the SLSA generator must be tag-pinned (not SHA) (#268) #359

Workflow file for this run

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