Some checks failed
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has been cancelled
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Has been cancelled
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Has been cancelled
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Has been cancelled
wai-audit collector and player integration / collector · linux (push) Has been cancelled
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Has been cancelled
WAI operation catalogue / the catalogue and every door · linux (push) Has been cancelled
wai-fleet service / service · linux (push) Has been cancelled
wai-fleet service / service · macos (push) Has been cancelled
wai-key-proxy / proxy · linux (push) Has been cancelled
wai-ledger service / does this change touch it (push) Has been cancelled
wai-ledger service / service · linux (push) Has been cancelled
wai-ledger service / service · macos (push) Has been cancelled
wai-quantum for JavaScript / does this change touch it (push) Has been cancelled
wai-quantum for JavaScript / javascript · linux (push) Has been cancelled
wai-quantum energy-landscape jobs / does this change touch it (push) Has been cancelled
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Has been cancelled
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Has been cancelled
wai-quantum energy-landscape jobs / the same bits · macos (push) Has been cancelled
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Has been cancelled
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Has been cancelled
wai-quantum studio and desktop / does this change touch it (push) Has been cancelled
wai-quantum studio and desktop / studio · browser (push) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (push) Has been cancelled
wai-quantum studio and desktop / desktop app · linux (push) Has been cancelled
wai-quantum studio and desktop / desktop app · windows (push) Has been cancelled
wai-sink-android native sink library / does this change touch it (push) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Has been cancelled
wai-sink-swift native sink package / does this change touch it (push) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Has been cancelled
WAI Studio / does this change touch it (push) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (push) Has been cancelled
WAI Studio / Studio in WebKit · linux (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Has been cancelled
wai-app and Create / wai-app · does this change touch it (push) Has been cancelled
wai-audit collector and player integration / does this change touch it (push) Has been cancelled
WAI operation catalogue / does this change touch it (push) Has been cancelled
joule-moq-room room service / joule-moq-room · does this change touch it (push) Has been cancelled
wai-key-proxy / does this change touch it (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Has been cancelled
wai-fleet service / does this change touch it (push) Has been cancelled
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 51s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Has been cancelled
joule-code conformance gate / joule-moq-relay, every target (push) Has been cancelled
joule-code conformance gate / joule-moq-ingest, every target (push) Has been cancelled
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 18s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 1m44s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 6m32s
- relay, a kind of its own, with the suite moqt in the live area: the new corpus moqt-conformance/cases.json lists the eight interop test cases and wai-receipts, each with the drafts it is a test at, so a record names its corpus by digest. joule-moq-interop runs each case against the relay's moqt:// or https:// URL at --draft 22, 18 or 16, and its TAP version 14 is read as the cases: ok passes; not ok, TODO, no point, exit 127 or a timeout fails; a skip passes only at a draft the case lists no test for. The client is found as wai dev finds its daemons (WAI_MOQ_INTEROP_BIN, beside wai, PATH). The record's adapter is command, its impl the client's command line with the URL and draft, its files the client. - joule-moq-interop closes every session's endpoint and waits it idle after each test: run a test a process, it exited before the CONNECTION_CLOSE left, the relay kept the dead publisher's namespace, and subscribe-before-announce and announce-subscribe failed against wai-relay at every draft. Now every case passes at 22, 18 and 16 over QUIC and at 22 over WebTransport. - verifier pq: pq-conformance case by case, each case given as the corpus with it alone; its independent verifier pq_verify.py now has its verdicts file in its # independent: line. - wai conformance gen --suite <corpus>[,...] [--verify] [--bin-dir <dir>] (conformance.generate, maintainer toolset): build.rs reads .github/wai-conformance/corpora/*.txt into the table of generators, and a corpus file whose dir: names no corpus, or whose bin: is no [[bin]] of wai-rs, fails the build. The files gain gen: where a tool's generator is not its gen mode (pin, staged-measure; oer: none). One cargo build serves every tool a run names. - wai-breaking.yml runs the new tests with pq_signatures, pq_verify.py through wai conform beside the claim, JWP and signer verifiers, and the reference relay at each draft, every record admitted. Co-Authored-By: Claude Opus 5.5 <[email protected]>
43 lines
3.1 KiB
Markdown
43 lines
3.1 KiB
Markdown
# What wai-conformance.yml runs, one file a step
|
|
|
|
`wai-conformance.yml` keeps no hand list of its verifier steps, corpora or kernel tests. Its
|
|
lists are derived, when it runs, from the files here and from tags in the test files, by
|
|
[`scripts/wai-conformance-lists.py`](../../scripts/wai-conformance-lists.py), whose
|
|
docstring states every key; its gate reads the steps' `paths:` through
|
|
`scripts/pr-touches-paths.py`. A change that adds a verifier, a corpus or a kernel test adds
|
|
a file, or a line to a file of its own, and edits no line of the workflow, unless a step's
|
|
`paths:` names a file under none of the trigger's paths (`check` names it). Its features and
|
|
`[[test]]` entries in `wai/wai-rs/Cargo.toml` stay shared
|
|
([`wai/CONTRIBUTING.md`](../../wai/CONTRIBUTING.md)).
|
|
|
|
- `verifiers/<name>.sh`: one step of the `independent-verifiers` job. Its body is the step's
|
|
shell, run in `wai/` (or `working-directory:`) with `bash -eo pipefail`, as a workflow step
|
|
runs. Its header, the leading `# key: value` lines, gives `step:` (its name), `order:` (steps
|
|
run in ascending order, a tie by file name), `features:` (each list compiles alone in
|
|
`features-alone`, and every feature joins `WAI_FEATURES`), and where it needs them `alone:`,
|
|
`build: pq`, `release-features:`, `bins:`, `pq-bins:`, `paths:` (the extension texts it
|
|
reads, which the workflow's gate then runs on) and `working-directory:`. Its corpus's
|
|
independent verifier is an `independent:` line, `<name> <area> [needs=<packages>]
|
|
[verdicts=<file>] [dir=<dir>] python3 [-I] <script> <args>`, the command line its README
|
|
gives, run in `wai/` by the job's one step `wai conform --independent` and never by the body;
|
|
`wai-rs/build.rs` reads the binary's table of independent verifiers from these lines. A file
|
|
with such lines and no body is a declaration: its verifiers run in that step alone. Prose
|
|
comments follow the header, after a `#` line.
|
|
- `corpora/<name>.txt`: one cargo-class corpus, verified by its own tool on every leg of
|
|
`cargo-classes` (`corpus:`, `order:`, `bin:`, `dir:`), and written by it through
|
|
`wai conformance gen --suite <corpus>`: its `gen` mode, or the modes `gen:` names in order
|
|
(`none` where the tool writes nothing and the corpus's README says what does).
|
|
`wai-rs/build.rs` reads these files for that command's table, and a `dir:` that names no
|
|
corpus fails the build.
|
|
- A test file of `wai/wai-rs/tests/` whose first line is `// wai-conformance: int-kernels`
|
|
runs in the fast integer kernels' steps of both profiles (`int-kernels-release`: the
|
|
release step only; `int-kernels-amd`: the AVX-512 host too). The steps' features are the
|
|
tagged tests' `required-features`.
|
|
- `baseline.json`: the lists the workflow kept by hand before they were derived. The
|
|
repository checks require every derived list to hold every entry of it, and every step it
|
|
names to run.
|
|
|
|
To see what the workflow runs: `python3 scripts/wai-conformance-lists.py dry-run` (of another
|
|
commit: `--ref <commit>`; two of them diff line by line). To run one step as CI does:
|
|
`python3 scripts/wai-conformance-lists.py run --only <name>`. To check the files:
|
|
`python3 scripts/wai-conformance-lists.py check`.
|