Files
chanora/.github/workflows/bench-baseline-update.yml
T
Edison Jwa 5c8c6df16b Make beta release artifacts reproducible on Linux and Android
Constraint: SRS-118 and SRS-119 require a Linux release package and an Android release AAB, and the current workspace also needs the sibling oboe-rs checkout for Cargo manifest loading.
Rejected: Keep release packaging as ad-hoc local knowledge | CI and contributors would still miss the required artifacts and hit the missing oboe-rs prerequisite.
Confidence: medium
Scope-risk: moderate
Directive: If the oboe-rs fork path changes or is vendored, update the helper scripts and workflow checkout steps together.
Tested: bash -n tools/build-linux-deb.sh tools/build-android-aab.sh; python3 YAML parse for .github/workflows/ci.yml, .github/workflows/bench-advisory.yml, .github/workflows/bench-baseline-update.yml; git diff --check
Not-tested: End-to-end flutter build linux --release; end-to-end flutter build appbundle --release; GitHub Actions runtime execution
2026-05-25 03:21:21 +09:00

56 lines
1.9 KiB
YAML

name: bench-baseline-update
# SDD-120 §7 / SAD-089 — manual-dispatch workflow that opens a PR
# updating the committed baseline JSON. This is the SOLE writer of
# `crates/chanora_audio/benches/baselines/<host>.json`. Triggered
# only on operator demand via workflow_dispatch.
on:
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
bench-baseline-update:
name: bench-baseline-update
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout oboe-rs fork
run: git clone --depth 1 https://github.com/edisonjwa/oboe-rs.git ../oboe-rs
- name: System deps (cpal / Opus)
run: |
sudo apt-get update
sudo apt-get install -y \
libasound2-dev libpulse-dev pkg-config \
libopus-dev
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run benchmarks
run: |
cargo bench -p chanora_audio \
--bench realtime_capture \
--bench opus_codec \
--bench resampler
- name: Emit current baseline JSON
run: cargo run --example emit_baseline -p chanora_audio
- name: Copy current to baseline path
run: cp current.json crates/chanora_audio/benches/baselines/x86_64-unknown-linux-gnu.json
- name: Create pull request
uses: peter-evans/create-pull-request@v6
with:
branch: bench/baseline-update-${{ github.run_id }}
base: product/scaffold-v0
title: "chore(bench): update realtime audio baselines"
body: |
Automated baseline update produced by manual dispatch of
`bench-baseline-update.yml`.
Run: ${{ github.run_id }}
Triggered by: ${{ github.actor }}
commit-message: "chore(bench): update realtime audio baselines"
add-paths: |
crates/chanora_audio/benches/baselines/x86_64-unknown-linux-gnu.json