Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 10s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Failing after 1m29s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Failing after 2m24s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 4m25s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Has been cancelled
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 · does this change touch it (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 · does this change touch it (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has been cancelled
wai-app and Create / wai-app · does this change touch it (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 / does this change touch it (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 / does this change touch it (push) Has been cancelled
WAI operation catalogue / the catalogue and every door · linux (push) Has been cancelled
wai-fleet service / does this change touch it (push) Has been cancelled
wai-fleet service / service · linux (push) Has been cancelled
wai-fleet service / service · macos (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 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
platform-decode §2 reads the query a page asks the platform from the payload of every capability browser-sink §4.1 gives a user-agent decoder, not only AV1 and HEVC. §2.1 adds VP9 (the codec string from the first key frame's uncompressed header, the level from VP9's level table over the frame size and the mean rate of the IVF timestamps, the matrix of its colour space), AVC (avc1 and the SPS's profile, constraint byte and level, the size after the cropping rectangle) and VP8. §2.2 adds the audio query, asked of AudioDecoder.isConfigSupported and of decodingInfo with an AudioConfiguration: Ogg Opus (its OpusHead the description), one Opus packet (the TOC byte), FLAC (STREAMINFO; the marker and metadata the description) and AAC in ADTS (mp4a.40.<object type>, or mp4a.66 to mp4a.68 for MPEG-2). §2.3 reads, by the same readers, the chunks a page gives the decoder and which of them are key. §3: answers to several configurations under one codec string are merged, so no object is routed to a decoder that refused its configuration. browser-sink §3 takes the audio answers into the report; §14.3 has the composing page ask about every alternative platform-decode maps and decode one routed ua through WebCodecs from §2.3's chunks. wai::platform_decode: Query::Video and Query::Audio, chunks, chunks_json, merge_answers, media_of. wai-web: platformMapped, platformChunks, platformMerge; compose.js asks and decodes through them for every mapped capability, video and audio. platform-decode-conformance/queries.json: the query and chunk summary of real payloads of every mapped capability (payloads/, written by payloads/make.sh with an independent prober's readings in prober.tsv, and the identify and encode corpora's streams), and planted faults with their outcomes. live-conformance/browser_sink_verify.py, given that directory, recomputes every case with its own readers and requires every mutated copy to fail. verify_platform_decode.mjs reads every payload through the wasm32 build in Chromium and WebKit and decodes it where the platform accepts its configuration; platform-decode §5 records the run. Co-Authored-By: Claude Opus 5.5 <[email protected]>
43 lines
3.4 KiB
Shell
43 lines
3.4 KiB
Shell
# step: browser sink · wai-rs, wai-live-web and browser_sink_verify.py
|
|
# order: 470
|
|
# features: browser_sink browser_sink,receipt_claims
|
|
# paths: wai/extensions/browser-sink.md wai/extensions/platform-decode.md wai/platform-decode-conformance/** wai/identify-conformance/ext/** wai/encode-conformance/streams/**
|
|
# independent: browser-sink live python3 -I live-conformance/browser_sink_verify.py live-conformance/browser platform-decode-conformance
|
|
#
|
|
# The browser sink (extensions/browser-sink.md): the reference module's unit tests (the
|
|
# registry gate's rows, registered tiers, integers as §5 reads them, a binding's
|
|
# canonical form, an answer for an unregistered codec string never read, powerEfficient
|
|
# never stated off the user agent's route, the side table's ambiguity) and
|
|
# tests/browser_sink.rs (both files of the committed corpus regenerate byte for byte and
|
|
# no other file is there, wai-rs gives every case its stated outcome, every reason of
|
|
# §11 appears in the corpus and §11 lists exactly the reference's codes, and the chain
|
|
# the generator signs by hand verifies under jwp_delivery); wai-live-web's browser
|
|
# functions held to the same corpus natively, and its wasm-route decoder verifying,
|
|
# decoding and binding every chain object to the published frame digests; and, in the
|
|
# step of every independent verifier above, the
|
|
# corpus's second implementation, browser_sink_verify.py, written from the extension's
|
|
# text and sharing no code with wai-rs, which reads the registry export for each
|
|
# capability's class, recomputes every route, evaluation, energy entry, binding, chain
|
|
# signature, frame state and side table, changes the answers for unregistered codec
|
|
# strings every way and requires the corpus still to pass, and requires every mutated
|
|
# copy of the corpus to fail; and, given platform-decode-conformance/, recomputes from each
|
|
# payload of queries.json the query of platform-decode §2 (every codec string, size, rate,
|
|
# bit rate and description, video and audio) and the chunks of §2.3, with its own readers,
|
|
# and requires every mutated copy of those vectors to fail; standard library only, run
|
|
# isolated (-I). The browser's own run of it is joule-moq-web.yml's scenario binding.
|
|
#
|
|
# The paths this step brings to the workflow's trigger, and why:
|
|
# wai/extensions/browser-sink.md: tests/browser_sink.rs requires this extension's §11 to list the
|
|
# codes the reference reports, browser_sink_verify.py reads its §2, §4.1, §4.2 and §11 tables
|
|
# and capability-constraints' §3.1 register, and the registry's wire identifiers test reads its
|
|
# sections.
|
|
# wai/extensions/platform-decode.md: browser_sink_verify.py reads §2's tables (the capabilities
|
|
# it maps, VP9's levels and colour spaces), and platform_decode::tests the vectors.
|
|
# wai/platform-decode-conformance/**, wai/identify-conformance/ext/**,
|
|
# wai/encode-conformance/streams/**: the query vectors and the payloads they name.
|
|
set -euo pipefail
|
|
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib platform_decode::)
|
|
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib browser_sink::)
|
|
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test browser_sink)
|
|
(cd wai-rs && "$RUNNER_TEMP/wai-bins/union/wai_browser_sink_vectors" verify ../live-conformance/browser)
|
|
(cd wai-live-web && cargo test --locked --features int_video --lib browser_tests)
|