Skip to content

fix(toolchain,ci): pack agent bin at real entry file; fix crates.io base-filesystem path #98

fix(toolchain,ci): pack agent bin at real entry file; fix crates.io base-filesystem path

fix(toolchain,ci): pack agent bin at real entry file; fix crates.io base-filesystem path #98

Workflow file for this run

name: Bench
on:
pull_request:
paths:
- "crates/**"
- "packages/**"
schedule:
- cron: "17 9 * * *"
workflow_dispatch:
jobs:
gate:
name: Bench gate
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
timeout-minutes: 40
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-wasip1
- name: Enable pnpm
run: corepack enable
- name: Install benchmark workspace dependencies
run: pnpm install --frozen-lockfile --filter "@secure-exec/benchmarks..." --filter "@secure-exec/build-tools..."
- name: Build @secure-exec/core (bench ops import its dist)
run: pnpm --dir packages/core build
- name: Build guest WASM command binaries (ls_100 vmCmd row)
run: |
make -C registry/native wasm
node packages/core/scripts/copy-wasm-commands.mjs
- name: Build release benchmark binaries
run: |
cargo build --release -p secure-exec-sidecar
cargo build --release -p native-baseline
cargo build --release -p native-baseline --target wasm32-wasip1
- name: Check native benchmark op wiring
run: pnpm --dir packages/benchmarks bench:check
- name: Run quick benchmark gate
env:
SECURE_EXEC_SIDECAR_BIN: ${{ github.workspace }}/target/release/secure-exec-sidecar
run: pnpm --dir packages/benchmarks bench:gate
nightly:
name: Nightly benchmark matrix
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-wasip1
- name: Enable pnpm
run: corepack enable
- name: Install benchmark workspace dependencies
run: pnpm install --frozen-lockfile --filter "@secure-exec/benchmarks..." --filter "@secure-exec/build-tools..."
- name: Build @secure-exec/core (bench ops import its dist)
run: pnpm --dir packages/core build
- name: Build guest WASM command binaries (VM boot + ecosystem rows)
run: |
make -C registry/native wasm
node packages/core/scripts/copy-wasm-commands.mjs
- name: Build release benchmark binaries
run: |
cargo build --release -p secure-exec-sidecar
cargo build --release -p native-baseline
cargo build --release -p native-baseline --target wasm32-wasip1
- name: Check native benchmark op wiring
run: pnpm --dir packages/benchmarks bench:check
- name: Run full benchmark matrix
env:
SECURE_EXEC_SIDECAR_BIN: ${{ github.workspace }}/target/release/secure-exec-sidecar
run: pnpm --dir packages/benchmarks bench:matrix
- name: Write CI candidate baseline
env:
SECURE_EXEC_SIDECAR_BIN: ${{ github.workspace }}/target/release/secure-exec-sidecar
run: pnpm --dir packages/benchmarks bench:baseline -- --ci --from results/latency-matrix.json
- name: Upload benchmark results
uses: actions/upload-artifact@v4
with:
name: nightly-benchmark-results
path: |
packages/benchmarks/results/latency-matrix.json
packages/benchmarks/results/findings.json
packages/benchmarks/results/baseline-ci.json