All checks were successful
wai media golden suite on RISC-V (emulated) / does this change touch it (push) Successful in 12s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 4m44s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 7s
wai media golden suite on RISC-V (emulated) / golden suite · riscv64 (emulated) (push) Successful in 1m15s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 47s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 4m59s
wai-ops-gpu.yml gains a vulkan job on linux-amd (framework-128gb: gpu-vulkan-1002 and swgpu-vulkan-10005) and linux-hw (jetson-hub: gpu-vulkan-10de, gpu-vulkan-8086 and swgpu-vulkan-10005), with WAI_OPS_GPU_EXPECT and WAI_OPS_GPU_REQUIRE. It runs the operator crate's 17 tests and the decoders' corpus (tests/ops_gpu.rs, jpegai/v1 included) on every declared adapter, and requires each adapter's report lines. The jpegai/v1 inputs stay on the host between runs, are checked against their pins each time, and are fetched with a ten-minute bound only when one is missing or off its pin. The workflow has no push trigger, so its nightly run (06:17 UTC) is the first CI run. By hand on the Framework through rbq, with the job's step scripts verbatim: both steps pass on both adapters, each under two minutes with its build, and the jpegai decode takes about four seconds. The jetson-hub declaration is the adapter set its wai-quantum WebGPU member already declares there; it has not been run by hand. wai-media-riscv.yml (new) builds wai/byte-exact-conformance for riscv64gc in the cross-rs image pinned by digest, capped at 6 GiB on `linux`. It runs the suite under Debian's static qemu-riscv64 10.0.13, pinned by SHA-256 and named as cargo's runner. No QEMU_* variable is set. A preflight program checks the emulator, the run has an hour, every download has a bound, and the build must compile the suite. It triggers on wai-byte-equality.yml's paths and its own file. By hand in that image on the Framework: 112 passed and 1 ignored (the exhaustive root test, ignored on every leg), in nine seconds of emulated running. Planted faults, caught by hand on the Framework: - no Vulkan device (VK_ICD_FILENAMES and VK_DRIVER_FILES naming no file) under REQUIRE, in each Vulkan step; - an unexpected backend declared (gpu-metal-0), in each Vulkan step; - a declared adapter missing, in the crate step; - one byte of the synthetic clip's golden SHA-256 (5a to 5b), failing the RISC-V leg. Co-Authored-By: Claude Opus 5.5 <[email protected]>
12 lines
949 B
Markdown
12 lines
949 B
Markdown
### The integer decoders on Vulkan GPUs, and the golden suite on RISC-V, in CI
|
|
|
|
- **`wai-ops-gpu.yml`** has a `vulkan` job on two hosts, one with an integrated GPU and one with a
|
|
discrete and an integrated GPU, each with the software Vulkan driver too: the operator crate's
|
|
tests (the probe, the corpus at both widths, the mutants, WGSL's integer semantics) and every
|
|
committed vector and refusal fixture of every capability that runs a `wai-ops/1` graph, the
|
|
`jpegai/v1` inputs included, decoded with its graphs on each adapter and held to the decode on
|
|
the CPU. `WAI_OPS_GPU_EXPECT` names every adapter a host must offer and `WAI_OPS_GPU_REQUIRE`
|
|
makes a missing one a failure.
|
|
- **`wai-media-riscv.yml`** builds `byte-exact-conformance` for `riscv64gc-unknown-linux-gnu`
|
|
and runs it under a pinned user-mode emulator: every golden the x86_64 and arm64 legs hold, on a
|
|
third instruction set, with one changed byte failing the leg.
|