Skip to content

fix(frontier): the boundary proof must not name a concurrency the gat… #129

fix(frontier): the boundary proof must not name a concurrency the gat…

fix(frontier): the boundary proof must not name a concurrency the gat… #129

Workflow file for this run

name: bench-rig
# Build the bench "rig" - the engine (Rust) and the mock (Rust) - for BOTH arches natively, and
# publish them to the rolling `rig` release. The bench boxes then just `curl` the right binary
# (lib/rig.sh), so they need no build toolchain: bare OS + docker is enough. Runs on any change to
# the mock sources, and on demand.
on:
push:
branches: [main]
paths: ["mock/**", "engine/**", ".github/workflows/bench-rig.yml"]
workflow_dispatch:
permissions:
contents: write # to upload release assets
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- arch: arm64
runner: ubuntu-24.04-arm
- arch: x86
runner: ubuntu-24.04
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v4
- name: Install Rust
run: |
curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: Build mock (Rust, native ${{ matrix.arch }})
run: |
# The mock is a WORKSPACE MEMBER, so its binary lands in the workspace target dir, not in
# mock/target. It moved there when the engine joined the workspace, and the copy kept
# looking where it used to be - the build succeeded and the step failed on the copy.
cargo build --release --manifest-path mock/Cargo.toml
cp target/release/mock "mock-${{ matrix.arch }}"
- name: Build the engine (Rust, native ${{ matrix.arch }})
run: |
# Native, on a runner of the target arch, for the same reason the mock is: a bench box
# then needs no toolchain, which is what keeps every box identical.
cargo build --release --bin otb
cp target/release/otb "otb-${{ matrix.arch }}"
- name: Publish to the rolling `rig` release
env:
GH_TOKEN: ${{ github.token }}
run: |
gh release view rig >/dev/null 2>&1 || \
gh release create rig --title "bench-rig binaries (rolling latest)" \
--notes "Prebuilt mock + engine for the bench boxes. Rebuilt by bench-rig.yml."
gh release upload rig --clobber "mock-${{ matrix.arch }}" "otb-${{ matrix.arch }}"