Repository navigation
Trigger dogfood with AKSH_REPO_ROOT variable #30
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: conformance | |
| on: | |
| pull_request: | |
| push: | |
| # Replays the committed official runner goldens (.runner-watch/golden/v2.335.1) | |
| # against a locally-started aksh and fails the PR on endpoint/status regressions. | |
| # | |
| # This is pure Rust HTTP replay: no official runner binary, no mitmproxy, no | |
| # port-80 redirect, no sudo. See docs/conformance-scenarios.md — the gate is | |
| # endpoint-coverage + status-code parity, not full response-body fidelity. | |
| jobs: | |
| conformance: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@1.86 | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Build aksh + runner-watch | |
| run: cargo build -p aksh-runner-server -p runner-watch | |
| - name: Start aksh | |
| run: | | |
| target/debug/aksh-runner-server serve \ | |
| --listen 127.0.0.1:9090 --state-dir /tmp/aksh-ci-state & | |
| for i in $(seq 1 40); do | |
| if curl -sf http://127.0.0.1:9090/healthz >/dev/null; then | |
| echo "aksh ready"; exit 0 | |
| fi | |
| sleep 0.25 | |
| done | |
| echo "aksh did not become healthy" >&2 | |
| exit 1 | |
| - name: Run conformance replay | |
| run: | | |
| cargo run -p runner-watch -- conform \ | |
| --runner v2.335.1 \ | |
| --aksh-url http://127.0.0.1:9090 \ | |
| --skip-cargo-test | |
| - name: Upload conformance reports | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: conformance-reports | |
| path: .runner-watch/conformance/** |