From ac511a78ffb2bb183ecaf0d7a26c129c241bb7ca Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Mon, 19 Oct 2026 02:49:11 -0400 Subject: [PATCH] ci: run each suite for what can affect it; re-runs after a merge become nightly - 27 workflows that ran on pull requests and again on every push to main now run on pull requests and nightly (staggered 04:00-08:59 UTC). A merge no longer repeats what its pull request ran; the nightly run is the backstop for a combination of two pull requests that each passed. repo-checks keeps its push trigger: one of its steps runs only on a push. - Eight heavy WAI workflows (http, jpegai-e2e, neural-gates, pack, quantum-webgpu, sota-vectors, web-reach, web-wasm) no longer fire on wai-rs/Cargo.toml, wai-rs/src/lib.rs or the registry, which every new feature and capability touches. Cargo.lock stays a trigger, so a dependency change still runs them; wai-conformance keeps the registry, which it checks. - wai-http's falsify shards (about an hour and a half of runner time) run when a pull request changes the code the falsify patches break, the HTTP corpus, its verifier or the workflow, and nightly; other changes on wai-http's list run its corpus jobs only. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/standards-build.yml | 9 +- .github/workflows/wai-conformance.yml | 62 +------------- .github/workflows/wai-energy-receipts.yml | 17 +--- .github/workflows/wai-http.yml | 83 +++++-------------- .github/workflows/wai-jpegai-e2e.yml | 46 +--------- .github/workflows/wai-neural-e2e.yml | 9 +- .github/workflows/wai-neural-gates.yml | 44 +--------- .github/workflows/wai-pack.yml | 19 +---- .github/workflows/wai-quantum-cuda.yml | 8 +- .github/workflows/wai-quantum-dataflow.yml | 8 +- .github/workflows/wai-quantum-dsp.yml | 8 +- .github/workflows/wai-quantum-fpga.yml | 8 +- .github/workflows/wai-quantum-hip.yml | 8 +- .github/workflows/wai-quantum-metal.yml | 8 +- .github/workflows/wai-quantum-npu-cores.yml | 8 +- .github/workflows/wai-quantum-npu.yml | 8 +- .github/workflows/wai-quantum-opencl.yml | 8 +- .github/workflows/wai-quantum-processors.yml | 8 +- .github/workflows/wai-quantum-qpu.yml | 9 +- .github/workflows/wai-quantum-sme.yml | 8 +- .../workflows/wai-quantum-tensor-engine.yml | 8 +- .../workflows/wai-quantum-tensor-program.yml | 8 +- .github/workflows/wai-quantum-vector.yml | 8 +- .github/workflows/wai-quantum-webgpu.yml | 29 +------ .github/workflows/wai-sota-vectors.yml | 37 +-------- .github/workflows/wai-web-reach.yml | 14 +--- .github/workflows/wai-web-wasm.yml | 21 +---- 27 files changed, 75 insertions(+), 436 deletions(-) diff --git a/.github/workflows/standards-build.yml b/.github/workflows/standards-build.yml index 8fd496328..25bd9fcca 100644 --- a/.github/workflows/standards-build.yml +++ b/.github/workflows/standards-build.yml @@ -42,8 +42,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] pull_request: # Deliberately NO `paths:` filter. @@ -54,7 +52,8 @@ on: # the way they do on GitHub. A build gate that quietly fails to run is worse than # no gate at all: it reports nothing and everyone assumes green. # -# This is the repo-wide floor. A push to main builds every workspace. A pull request +# This is the repo-wide floor. The nightly schedule builds every workspace; a merge to +# main does not run it again, since the pull request already built what it touched. A pull request # builds the workspaces its own diff touches (the `plan` job, scripts/ # standards-touched.py): a workspace's own area, the areas of everything it depends on # by path, any file outside them its sources name, and everything every leg shares (this @@ -62,6 +61,8 @@ on: # request filled the one x86_64 runner's queue with builds no change could affect. The # plan reads the pull request's diff, not the push delta, so a merge of main into a # branch does not rebuild everything, and anything it cannot determine builds all. + schedule: + - cron: '7 4 * * *' jobs: # Which workspaces this change touches. The list of workspaces is here, one @@ -388,7 +389,7 @@ jobs: macos-energy-backend: name: macOS energy backends # Runs when the change touches a workspace whose energy backend it tests (the plan's - # `energy`), and on every push to main. + # `energy`), and on the nightly schedule. needs: plan if: needs.plan.outputs.energy == 'true' runs-on: macos diff --git a/.github/workflows/wai-conformance.yml b/.github/workflows/wai-conformance.yml index 0bba78714..c77f81668 100644 --- a/.github/workflows/wai-conformance.yml +++ b/.github/workflows/wai-conformance.yml @@ -32,66 +32,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-rs/**' - # wai-rs path-depends on wai-quantum, and the quantum corpora below are - # verified through it: a change there changes what this workflow checks. - - 'wai/wai-quantum/**' - # The integer decoders that decode through the integer operator set depend on it. - - 'wai/wai-ops/**' - - 'wai/*-conformance/**' - - 'wai/byte-exact-conformance/**' - # The registry export and the two library tests that read files outside - # wai-rs (the codec glossary, SPEC.md) must fire this workflow too: a - # hand edit of an exported file, of SPEC §5 or of the glossary is checked - # here. vocab/v1's and v2's pin terms are checked by a library test. - - 'wai/registry/**' - - 'wai/vocab/**' - - 'wai/glossary/**' - - 'wai/SPEC.md' - - 'wai/REGISTRY.md' - # A library test checks SPEC §5's pinned integer payloads against this - # extension's sections, so an edit of it is checked here too. - - 'wai/extensions/integer-payloads.md' - # A library test (staged::tests::staged_delivery_text_lists_the_codes) checks - # that this extension's §4.2 and A.6 list the codes the sink reports. - - 'wai/extensions/staged-delivery.md' - # A library test (codecs::registry::tests::wire_identifiers_are_in_their_documents) - # checks every wire identifier against the section of these texts it names, and - # staged::moq::tests::moq_streaming_format_lists_the_codes checks §4.1's codes. - - 'wai/extensions/http-delivery.md' - - 'wai/extensions/moq-streaming-format.md' - - 'wai/extensions/jwp-receipts.md' - # The quantum referee requires this extension's Appendix B to state its phase tables. - - 'wai/extensions/quantum-sim.md' - # tests/live_events.rs requires this extension's §9 to list the codes the reference - # reports, and the registry's wire identifiers test reads its sections. - - 'wai/extensions/live-events.md' - # tests/live_room.rs requires this extension's §11 to list the codes the reference - # reports, and the registry's wire identifiers test reads its sections. - - 'wai/extensions/live-rooms.md' - # tests/capture_take.rs requires this extension's §12 to list the codes the reference - # reports, and the registry's wire identifiers test reads its sections. - - 'wai/extensions/capture-binding.md' - # tests/live_compose.rs requires this extension's §10 to list the codes the reference - # reports, and the registry's wire identifiers test reads its sections. - - 'wai/extensions/live-compose.md' - # tests/live_record.rs requires this extension's §9 to list the codes the reference - # reports, and the registry's wire identifiers test reads its sections. - - 'wai/extensions/live-recording.md' - # tests/timed_text.rs requires this extension's §12 to list the codes the reference - # reports, and the registry's wire identifiers test reads its sections. - - 'wai/extensions/timed-text.md' - # tests/live_metering.rs requires this extension's §9 to list the codes the reference - # reports, live_metering_verify.py reads that table, and the registry's wire identifiers - # test reads its sections. - - 'wai/extensions/live-metering.md' - - 'wai/wai-web/**' - # The audio provenance check below reads the corpora above with this tool. - - 'wai/tools/wai_audio_provenance_check.py' - - '.github/workflows/wai-conformance.yml' pull_request: paths: - 'wai/wai-rs/**' @@ -158,6 +98,8 @@ on: # each runner's native default, which runs cargo identically either way. The # Windows legs are out of the matrices for now (see the comment on each matrix); # their pwsh steps stay, inactive, so restoring a leg is a one-line change. + schedule: + - cron: '20 5 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-energy-receipts.yml b/.github/workflows/wai-energy-receipts.yml index d7ca3b974..36130e7ae 100644 --- a/.github/workflows/wai-energy-receipts.yml +++ b/.github/workflows/wai-energy-receipts.yml @@ -89,21 +89,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-rs/**' - - 'wai/wai-quantum/**' - - 'wai/wai-quantum-serve/**' - - 'wai/extensions/**' - - 'wai/SPEC.md' - - 'wai/CHANGELOG.md' - # tests/video_receipt.rs reads the WIV1 refusal fixtures. - - 'wai/int-payload-conformance/**' - # wai_quantum_vectors' tests require the committed quantum corpus to be - # what `gen` writes. - - 'wai/quantum-conformance/**' - - '.github/workflows/wai-energy-receipts.yml' pull_request: paths: - 'wai/wai-rs/**' @@ -118,6 +103,8 @@ on: # what `gen` writes. - 'wai/quantum-conformance/**' - '.github/workflows/wai-energy-receipts.yml' + schedule: + - cron: '33 6 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-http.yml b/.github/workflows/wai-http.yml index 6e77740b0..fdaff68d9 100644 --- a/.github/workflows/wai-http.yml +++ b/.github/workflows/wai-http.yml @@ -50,59 +50,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-rs/src/http_binding/**' - - 'wai/wai-rs/src/container.rs' - - 'wai/wai-rs/src/jwp_hash.rs' - - 'wai/wai-rs/src/bin/wai.rs' - - 'wai/wai-rs/src/bin/wai_http_vectors.rs' - - 'wai/wai-rs/src/bin/wai_cli/http.rs' - - 'wai/wai-rs/src/bin/wai_cli/http_vectors.rs' - - 'wai/wai-rs/src/bin/wai_cli/http_vectors_playlists.rs' - - 'wai/wai-rs/src/bin/wai_cli/http_vectors_receipts.rs' - - 'wai/wai-rs/src/bin/wai_cli/http_playlists.rs' - # Receipts, keys, grants and sets over HTTP (§8.1–§8.5) are checked by the receipt, - # claim, key-log and pin code, and on the Python side by their own verifiers. - - 'wai/wai-rs/src/jwp_delivery.rs' - - 'wai/wai-rs/src/claim_receipt.rs' - - 'wai/wai-rs/src/claim_receipt/**' - - 'wai/wai-rs/src/key_log.rs' - - 'wai/wai-rs/src/pin.rs' - # ...and by what those read with: JCS, signer identities, step 6's figures and - # classes, and the OER receipts an energy claim names. - - 'wai/wai-rs/src/jcs.rs' - - 'wai/wai-rs/src/signer_id.rs' - - 'wai/wai-rs/src/energy_class.rs' - - 'wai/wai-rs/src/energy_figure.rs' - - 'wai/wai-rs/src/energy_binding.rs' - - 'wai/wai-rs/src/energy_report.rs' - - 'wai/wai-rs/src/claim_text.rs' - - 'wai/wai-rs/src/oer.rs' - - 'wai/jwp-conformance/jwp_verify.py' - - 'wai/claim-conformance/claim_verify.py' - - 'wai/signer-conformance/signer_verify.py' - - 'wai/oer-conformance/oer2_verify.py' - # The playlists render through hls_render and are sealed by wai_video_manifest. - - 'wai/wai-rs/src/hls_render.rs' - - 'wai/wai-rs/src/wai_video_manifest.rs' - # Playlist receipts verify Ed25519 through the shared strict rule, in Rust and Python. - - 'wai/wai-rs/src/sig.rs' - - 'wai/claim-conformance/_ed25519.py' - - 'wai/wai-rs/Cargo.toml' - - 'wai/http-conformance/**' - - 'wai/cache-conformance/**' - - 'wai/claim-conformance/_blake3.py' - # http_verify.py reads staged_verify.py (and through it int_payload_verify.py), and - # the corpus carries the staged ladder's base and layers. - - 'wai/staged-conformance/staged_verify.py' - # staged_verify.py's component rules (SPEC §7.1) read the capability registry. - - 'wai/registry/capabilities.json' - - 'wai/staged-conformance/cases/audio_flac_rate_ladder/**' - - 'wai/int-payload-conformance/int_payload_verify.py' - - 'wai/registry/**' - - '.github/workflows/wai-http.yml' pull_request: paths: - 'wai/wai-rs/src/http_binding/**' @@ -142,7 +89,6 @@ on: # Playlist receipts verify Ed25519 through the shared strict rule, in Rust and Python. - 'wai/wai-rs/src/sig.rs' - 'wai/claim-conformance/_ed25519.py' - - 'wai/wai-rs/Cargo.toml' - 'wai/http-conformance/**' - 'wai/cache-conformance/**' - 'wai/claim-conformance/_blake3.py' @@ -150,13 +96,11 @@ on: # the corpus carries the staged ladder's base and layers. - 'wai/staged-conformance/staged_verify.py' # staged_verify.py's component rules (SPEC §7.1) read the capability registry. - - 'wai/registry/capabilities.json' - 'wai/staged-conformance/cases/audio_flac_rate_ladder/**' - 'wai/int-payload-conformance/int_payload_verify.py' - - 'wai/registry/**' - '.github/workflows/wai-http.yml' schedule: - - cron: '17 4 * * 1' + - cron: '17 4 * * *' jobs: # The path filters above gate the trigger, which on this forge is the push delta: a @@ -168,6 +112,7 @@ jobs: runs-on: linux-arm64 outputs: run: ${{ steps.gate.outputs.run }} + falsify: ${{ steps.gate.outputs.falsify }} steps: - uses: actions/checkout@v5 with: @@ -175,18 +120,34 @@ jobs: - id: gate run: | set -euo pipefail - r=$(python3 scripts/pr-touches-paths.py .github/workflows/wai-http.yml \ - "${{ github.event.pull_request.base.sha }}" \ - "${{ github.event.pull_request.head.sha }}") + base="${{ github.event.pull_request.base.sha }}" + head="${{ github.event.pull_request.head.sha }}" + r=$(python3 scripts/pr-touches-paths.py .github/workflows/wai-http.yml "$base" "$head") echo "this change touches WAI HTTP: $r" echo "run=$r" >> "$GITHUB_OUTPUT" + # The falsify shards (about an hour and a half of runner time) prove that the corpus + # tool and its verifier catch defects: they matter when a pull request changes the + # code the patches in http-conformance/falsify/ break, the corpus, its verifier or + # this file. Any other change to the list above runs the corpus jobs but not the + # shards. The nightly schedule, having no pull request, runs them all. Fails open: + # a diff that cannot be read answers true. + f=true + if [ -n "$base" ] && [ -n "$head" ] && names=$(git diff --name-only "$base...$head"); then + if grep -qE '^(wai/wai-rs/src/http_binding/|wai/http-conformance/|wai/wai-rs/src/bin/wai_http_vectors\.rs$|wai/wai-rs/src/bin/wai_cli/http|wai/wai-rs/src/(container|sig|jwp_hash|jwp_delivery|hls_render|wai_video_manifest)\.rs$|\.github/workflows/wai-http\.yml$)' <<< "$names"; then + f=true + else + f=false + fi + fi + echo "this change touches what the falsify shards break: $f" + echo "falsify=$f" >> "$GITHUB_OUTPUT" # Every patch and every mutation runs in exactly one shard: the one whose index mod N # it is, in the sorted list. The shards job reads the list below; keep it on one line. falsify: name: HTTP corpus · falsify ${{ matrix.shard }} needs: relevant - if: needs.relevant.outputs.run == 'true' + if: needs.relevant.outputs.falsify == 'true' runs-on: linux-arm64 strategy: fail-fast: false diff --git a/.github/workflows/wai-jpegai-e2e.yml b/.github/workflows/wai-jpegai-e2e.yml index 8fc31a75e..e5aa29a23 100644 --- a/.github/workflows/wai-jpegai-e2e.yml +++ b/.github/workflows/wai-jpegai-e2e.yml @@ -90,48 +90,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-rs/src/jpegai_*.rs' - - 'wai/wai-rs/src/reconstruction_binding.rs' - # The set-form pin over the exact bundle (tests/jpegai_e2e_full.rs) verifies - # through the pin module. - - 'wai/wai-rs/src/pin.rs' - - 'wai/wai-rs/src/container.rs' - - 'wai/wai-rs/src/int_transformer.rs' - - 'wai/wai-rs/src/int_hyper_synth.rs' - - 'wai/wai-rs/src/int_kernels.rs' - - 'wai/wai-rs/src/float_repro.rs' - - 'wai/wai-rs/src/int_entropy.rs' - - 'wai/wai-rs/src/int_transform.rs' - - 'wai/wai-rs/src/rans.rs' - - 'wai/wai-rs/src/lib.rs' - - 'wai/wai-rs/Cargo.toml' - - 'wai/wai-rs/Cargo.lock' - - 'wai/wai-rs/tests/jpegai_e2e_full.rs' - - 'wai/wai-rs/tests/jpegai_reconstruction_binding.rs' - - 'wai/wai-rs/tests/jpegai_cross_platform.rs' - - 'wai/wai-rs/tests/jpegai_ops.rs' - - 'wai/wai-rs/tests/jpegai_nets_ops.rs' - - 'wai/wai-rs/tests/jpegai_memory.rs' - - 'wai/wai-rs/src/int_set_cache.rs' - - 'wai/wai-rs/src/int_ops.rs' - - 'wai/ops-conformance/sets/jpegai/**' - - 'wai/wai-rs/tests/support/**' - - 'wai/tools/wai_jpegai_fetch_e2e_inputs.sh' - - 'wai/tools/jpegai-e2e-v1.sha256' - # The bounds certificate of the bundle's scale path (the step after the fetch): - # the certifier, and the certificate committed by digest. - - 'wai/wai-ops/src/**' - - 'wai/wai-ops/tests/goldens.rs' - - 'wai/wai-verify/Cargo.toml' - - 'wai/wai-verify/Cargo.lock' - - 'wai/wai-verify/src/bin/**' - - 'wai/ops-conformance/certificates/external.json' - - 'wai/ops-conformance/certificates/wai.image.jpegai/3e243dc11566922f5cb7f4c628afd440b18d56a08b99b07cc33d5c8522aeec37.json' - - 'wai/tools/wai_ops_check.py' - - '.github/workflows/wai-jpegai-e2e.yml' pull_request: paths: - 'wai/wai-rs/src/jpegai_*.rs' @@ -147,8 +105,6 @@ on: - 'wai/wai-rs/src/int_entropy.rs' - 'wai/wai-rs/src/int_transform.rs' - 'wai/wai-rs/src/rans.rs' - - 'wai/wai-rs/src/lib.rs' - - 'wai/wai-rs/Cargo.toml' - 'wai/wai-rs/Cargo.lock' - 'wai/wai-rs/tests/jpegai_e2e_full.rs' - 'wai/wai-rs/tests/jpegai_reconstruction_binding.rs' @@ -176,7 +132,7 @@ on: # Weekly, independent of changes: the inputs live outside the repository, and # their disappearing should surface here, not at the next unrelated PR. schedule: - - cron: '41 6 * * 1' + - cron: '41 6 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-neural-e2e.yml b/.github/workflows/wai-neural-e2e.yml index 159b53f10..90df5ed2a 100644 --- a/.github/workflows/wai-neural-e2e.yml +++ b/.github/workflows/wai-neural-e2e.yml @@ -32,19 +32,14 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-rs/src/neural/**' - - 'wai/wai-rs/tests/neural_native_decode.rs' - - 'wai/tools/wai_validate_synthetic.py' - - '.github/workflows/wai-neural-e2e.yml' pull_request: paths: - 'wai/wai-rs/src/neural/**' - 'wai/wai-rs/tests/neural_native_decode.rs' - 'wai/tools/wai_validate_synthetic.py' - '.github/workflows/wai-neural-e2e.yml' + schedule: + - cron: '12 4 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-neural-gates.yml b/.github/workflows/wai-neural-gates.yml index 10dc19da3..2a2e9e343 100644 --- a/.github/workflows/wai-neural-gates.yml +++ b/.github/workflows/wai-neural-gates.yml @@ -50,47 +50,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-rs/src/neural/**' - - 'wai/wai-rs/src/container.rs' - - 'wai/wai-rs/src/codecs/mod.rs' - - 'wai/wai-rs/src/codecs/prior_form.rs' - - 'wai/wai-rs/src/pin.rs' - - 'wai/wai-rs/src/key_log.rs' - - 'wai/wai-rs/src/key_log/**' - - 'wai/wai-rs/src/signer_id.rs' - - 'wai/wai-rs/src/claim_receipt.rs' - - 'wai/wai-rs/src/claim_text.rs' - - 'wai/wai-rs/src/ffi.rs' - - 'wai/wai-rs/src/ffi_neural.rs' - - 'wai/wai-rs/tests/ffi_neural_pin.rs' - - 'wai/wai-rs/tests/neural_cost_limit.rs' - - 'wai/wai-rs/src/int_synth.rs' - # The integer operator set the integer decoders load their sets through. - - 'wai/wai-rs/src/int_ops.rs' - - 'wai/wai-ops/**' - - 'wai/wai-rs/src/ort_session.rs' - - 'wai/neural-conformance/vectors/**' - - 'wai/pin-conformance/**' - - 'wai/wai-rs/tests/neural_native_decode.rs' - - 'wai/wai-rs/src/int_mlicpp.rs' - - 'wai/wai-rs/tests/vectors/int_mlicpp/**' - # The integer capabilities the neural sink delegates to int_payload::decode_int, - # and the vectors its tests decode through it. - - 'wai/wai-rs/src/int_payload/**' - - 'wai/wai-rs/src/int_video.rs' - - 'wai/wai-rs/src/int_hyper_synth.rs' - - 'wai/wai-rs/src/int_audio.rs' - - 'wai/wai-rs/src/int_splat.rs' - - 'wai/wai-rs/tests/vectors/int_hyper/**' - - 'wai/wai-rs/tests/vectors/int_video/**' - - 'wai/wai-rs/tests/vectors/int_audio/**' - - 'wai/wai-rs/tests/vectors/int_splat/**' - - 'wai/wai-rs/Cargo.toml' - - 'wai/wai-rs/Cargo.lock' - - '.github/workflows/wai-neural-gates.yml' pull_request: paths: - 'wai/wai-rs/src/neural/**' @@ -128,9 +87,10 @@ on: - 'wai/wai-rs/tests/vectors/int_video/**' - 'wai/wai-rs/tests/vectors/int_audio/**' - 'wai/wai-rs/tests/vectors/int_splat/**' - - 'wai/wai-rs/Cargo.toml' - 'wai/wai-rs/Cargo.lock' - '.github/workflows/wai-neural-gates.yml' + schedule: + - cron: '25 5 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-pack.yml b/.github/workflows/wai-pack.yml index 3462a69db..d1eca1656 100644 --- a/.github/workflows/wai-pack.yml +++ b/.github/workflows/wai-pack.yml @@ -40,24 +40,9 @@ on: - 'wai/staged-measure-conformance/sim_verify.py' - 'wai/staged-measure-conformance/measure_verify.py' - 'wai/http-conformance/http_verify.py' - - 'wai/registry/capabilities.json' - '.github/workflows/wai-pack.yml' - push: - branches: [main] - paths: - - 'wai/wai-pack/**' - - 'wai/wai-rs/**' - - 'wai/pack-conformance/**' - - 'wai/claim-conformance/_blake3.py' - - 'wai/claim-conformance/_ed25519.py' - - 'wai/int-payload-conformance/int_payload_verify.py' - - 'wai/staged-conformance/staged_verify.py' - - 'wai/staged-measure-conformance/sim_verify.py' - - 'wai/staged-measure-conformance/measure_verify.py' - - 'wai/http-conformance/http_verify.py' - - 'wai/registry/capabilities.json' - - '.github/workflows/wai-pack.yml' - + schedule: + - cron: '38 6 * * *' jobs: # Forgejo matches the `paths:` filters above against the **push delta**, not # the pull request's diff. A rebase moves a branch across every commit main diff --git a/.github/workflows/wai-quantum-cuda.yml b/.github/workflows/wai-quantum-cuda.yml index df041e5a1..f45a03cbb 100644 --- a/.github/workflows/wai-quantum-cuda.yml +++ b/.github/workflows/wai-quantum-cuda.yml @@ -22,17 +22,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-cuda.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-cuda.yml' + schedule: + - cron: '51 7 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-dataflow.yml b/.github/workflows/wai-quantum-dataflow.yml index 4aaeceb62..213e4d37e 100644 --- a/.github/workflows/wai-quantum-dataflow.yml +++ b/.github/workflows/wai-quantum-dataflow.yml @@ -16,17 +16,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-dataflow.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-dataflow.yml' + schedule: + - cron: '4 8 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-dsp.yml b/.github/workflows/wai-quantum-dsp.yml index 69f9f3851..d71f0d29a 100644 --- a/.github/workflows/wai-quantum-dsp.yml +++ b/.github/workflows/wai-quantum-dsp.yml @@ -33,17 +33,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-dsp.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-dsp.yml' + schedule: + - cron: '17 4 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-fpga.yml b/.github/workflows/wai-quantum-fpga.yml index 413cf930f..659d8a8c3 100644 --- a/.github/workflows/wai-quantum-fpga.yml +++ b/.github/workflows/wai-quantum-fpga.yml @@ -20,17 +20,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-fpga.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-fpga.yml' + schedule: + - cron: '30 5 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-hip.yml b/.github/workflows/wai-quantum-hip.yml index 238a669d1..74f6eecc7 100644 --- a/.github/workflows/wai-quantum-hip.yml +++ b/.github/workflows/wai-quantum-hip.yml @@ -22,17 +22,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-hip.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-hip.yml' + schedule: + - cron: '43 6 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-metal.yml b/.github/workflows/wai-quantum-metal.yml index 903ed74a7..ab5ddfc2b 100644 --- a/.github/workflows/wai-quantum-metal.yml +++ b/.github/workflows/wai-quantum-metal.yml @@ -22,17 +22,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-metal.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-metal.yml' + schedule: + - cron: '56 7 * * *' jobs: relevant: diff --git a/.github/workflows/wai-quantum-npu-cores.yml b/.github/workflows/wai-quantum-npu-cores.yml index 405140f3e..99842bbde 100644 --- a/.github/workflows/wai-quantum-npu-cores.yml +++ b/.github/workflows/wai-quantum-npu-cores.yml @@ -20,17 +20,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-npu-cores.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-npu-cores.yml' + schedule: + - cron: '9 8 * * *' env: # The tile array's toolchain: the compiler and its core back end, the diff --git a/.github/workflows/wai-quantum-npu.yml b/.github/workflows/wai-quantum-npu.yml index c1d9b9a82..21f8d8e76 100644 --- a/.github/workflows/wai-quantum-npu.yml +++ b/.github/workflows/wai-quantum-npu.yml @@ -18,17 +18,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-npu.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-npu.yml' + schedule: + - cron: '22 4 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-opencl.yml b/.github/workflows/wai-quantum-opencl.yml index 1e73dd347..890f66452 100644 --- a/.github/workflows/wai-quantum-opencl.yml +++ b/.github/workflows/wai-quantum-opencl.yml @@ -26,17 +26,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-opencl.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-opencl.yml' + schedule: + - cron: '35 5 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-processors.yml b/.github/workflows/wai-quantum-processors.yml index 0a1cdd7ce..14679f927 100644 --- a/.github/workflows/wai-quantum-processors.yml +++ b/.github/workflows/wai-quantum-processors.yml @@ -29,17 +29,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-processors.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-processors.yml' + schedule: + - cron: '48 6 * * *' jobs: emulated: diff --git a/.github/workflows/wai-quantum-qpu.yml b/.github/workflows/wai-quantum-qpu.yml index 0e6fd36eb..43875a6b6 100644 --- a/.github/workflows/wai-quantum-qpu.yml +++ b/.github/workflows/wai-quantum-qpu.yml @@ -12,19 +12,14 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum-qpu/**' - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-qpu.yml' pull_request: paths: - 'wai/wai-quantum-qpu/**' - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-qpu.yml' + schedule: + - cron: '1 7 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-sme.yml b/.github/workflows/wai-quantum-sme.yml index d02b563e9..abcf92018 100644 --- a/.github/workflows/wai-quantum-sme.yml +++ b/.github/workflows/wai-quantum-sme.yml @@ -19,17 +19,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-sme.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-sme.yml' + schedule: + - cron: '14 8 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-tensor-engine.yml b/.github/workflows/wai-quantum-tensor-engine.yml index 2937b6da7..9cc9d22fe 100644 --- a/.github/workflows/wai-quantum-tensor-engine.yml +++ b/.github/workflows/wai-quantum-tensor-engine.yml @@ -20,17 +20,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-tensor-engine.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-tensor-engine.yml' + schedule: + - cron: '27 4 * * *' env: KERNEL_TOOLCHAIN: nki==0.6.0+31049202112.g85070674 diff --git a/.github/workflows/wai-quantum-tensor-program.yml b/.github/workflows/wai-quantum-tensor-program.yml index 43b544238..d0c55751a 100644 --- a/.github/workflows/wai-quantum-tensor-program.yml +++ b/.github/workflows/wai-quantum-tensor-program.yml @@ -34,17 +34,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-tensor-program.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-tensor-program.yml' + schedule: + - cron: '40 5 * * *' env: IREE_VERSION: 3.12.0 diff --git a/.github/workflows/wai-quantum-vector.yml b/.github/workflows/wai-quantum-vector.yml index 1a0aaee1f..50ad1cefa 100644 --- a/.github/workflows/wai-quantum-vector.yml +++ b/.github/workflows/wai-quantum-vector.yml @@ -22,17 +22,13 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'rust-toolchain.toml' - - '.github/workflows/wai-quantum-vector.yml' pull_request: paths: - 'wai/wai-quantum/**' - 'rust-toolchain.toml' - '.github/workflows/wai-quantum-vector.yml' + schedule: + - cron: '53 6 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-quantum-webgpu.yml b/.github/workflows/wai-quantum-webgpu.yml index 09d881868..b28391928 100644 --- a/.github/workflows/wai-quantum-webgpu.yml +++ b/.github/workflows/wai-quantum-webgpu.yml @@ -40,31 +40,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-quantum/**' - - 'wai/quantum-conformance/**' - - 'wai/tools/quantum-wgsl-check/**' - # The meter, and the counters it reads. - - 'wai/tools/quantum-meter/**' - - 'jouleclaw/jouleclaw-rs/Cargo.toml' - - 'jouleclaw/jouleclaw-rs/crates/jouleclaw-core/**' - - 'jouleclaw/jouleclaw-rs/crates/jouleclaw-energy/**' - - 'wai/wai-rs/src/bin/wai_quantum_vectors.rs' - # The GPU jobs build wai-rs with the forwarded feature, --locked. - - 'wai/wai-rs/Cargo.toml' - - 'wai/wai-rs/Cargo.lock' - - 'wai/wai-rs/src/lib.rs' - - 'rust-toolchain.toml' - # The checks and browser jobs build wai-web with its feature, --locked. - - 'wai/wai-web/Cargo.toml' - - 'wai/wai-web/Cargo.lock' - - 'wai/wai-web/src/quantum_webgpu.rs' - - 'wai/wai-web/src/lib.rs' - - 'wai/wai-web/demo/quantum_webgpu*' - - 'scripts/wai-quantum-webgpu-member.sh' - - '.github/workflows/wai-quantum-webgpu.yml' pull_request: paths: - 'wai/wai-quantum/**' @@ -77,9 +52,7 @@ on: - 'jouleclaw/jouleclaw-rs/crates/jouleclaw-energy/**' - 'wai/wai-rs/src/bin/wai_quantum_vectors.rs' # The GPU jobs build wai-rs with the forwarded feature, --locked. - - 'wai/wai-rs/Cargo.toml' - 'wai/wai-rs/Cargo.lock' - - 'wai/wai-rs/src/lib.rs' - 'rust-toolchain.toml' # The checks and browser jobs build wai-web with its feature, --locked. - 'wai/wai-web/Cargo.toml' @@ -89,6 +62,8 @@ on: - 'wai/wai-web/demo/quantum_webgpu*' - 'scripts/wai-quantum-webgpu-member.sh' - '.github/workflows/wai-quantum-webgpu.yml' + schedule: + - cron: '6 7 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-sota-vectors.yml b/.github/workflows/wai-sota-vectors.yml index 6b1059498..331fcf66c 100644 --- a/.github/workflows/wai-sota-vectors.yml +++ b/.github/workflows/wai-sota-vectors.yml @@ -113,39 +113,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-rs/src/int_hyper_synth.rs' - - 'wai/wai-rs/src/int_ops.rs' - - 'wai/wai-rs/src/int_kernels.rs' - - 'wai/wai-rs/src/int_entropy.rs' - - 'wai/wai-rs/src/int_transform.rs' - - 'wai/wai-rs/src/int_video.rs' - - 'wai/wai-rs/src/rans.rs' - - 'wai/wai-rs/src/lib.rs' - - 'wai/wai-rs/Cargo.toml' - - 'wai/wai-rs/Cargo.lock' - - 'wai/wai-rs/examples/int_hyper_decode_frame.rs' - - 'wai/wai-rs/tests/int_hyper_synth.rs' - - 'wai/wai-rs/tests/int_video_sota_keyframe.rs' - - 'wai/wai-rs/tests/support/**' - - 'wai/wai-rs/tests/require_vectors_rule.rs' - - 'wai/tools/wai_sota_*' - - 'wai/tools/wai_int_video_sota_keyframe_encode.py' - - 'wai/tools/requirements-sota-int.txt' - # The wasm32 decode of the same vectors (the last steps below). - - 'wai/wai-web/**' - # The bounds certificate of the regenerated set (the step after the - # regeneration): the certifier, and the certificate committed by digest. - - 'wai/wai-ops/src/**' - - 'wai/wai-verify/Cargo.toml' - - 'wai/wai-verify/Cargo.lock' - - 'wai/wai-verify/src/bin/**' - - 'wai/ops-conformance/certificates/external.json' - - 'wai/ops-conformance/certificates/wai.neural.int_hyper/f16fd09cd79b831d7d821e030c05e99e9fb5ea216574e699944ea4e55ac0a404.json' - - 'wai/tools/wai_ops_check.py' - - '.github/workflows/wai-sota-vectors.yml' pull_request: paths: - 'wai/wai-rs/src/int_hyper_synth.rs' @@ -155,8 +122,6 @@ on: - 'wai/wai-rs/src/int_transform.rs' - 'wai/wai-rs/src/int_video.rs' - 'wai/wai-rs/src/rans.rs' - - 'wai/wai-rs/src/lib.rs' - - 'wai/wai-rs/Cargo.toml' - 'wai/wai-rs/Cargo.lock' - 'wai/wai-rs/examples/int_hyper_decode_frame.rs' - 'wai/wai-rs/tests/int_hyper_synth.rs' @@ -182,7 +147,7 @@ on: # outside the repository (the checkpoint, the pinned wheels), and their # disappearing should surface as a failure here, not at the next unrelated PR. schedule: - - cron: '17 6 * * 1' + - cron: '17 6 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a diff --git a/.github/workflows/wai-web-reach.yml b/.github/workflows/wai-web-reach.yml index 74b0b6b86..ef3e9360e 100644 --- a/.github/workflows/wai-web-reach.yml +++ b/.github/workflows/wai-web-reach.yml @@ -57,17 +57,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-web/**' - - 'wai/wai-rs/**' - - 'wai/wai-quantum/**' - - 'wai/neural-conformance/**' - - 'wai/staged-conformance/**' - - 'wai/staged-measure-conformance/**' - - 'wai/registry/**' - - '.github/workflows/wai-web-reach.yml' pull_request: paths: - 'wai/wai-web/**' @@ -76,8 +65,9 @@ on: - 'wai/neural-conformance/**' - 'wai/staged-conformance/**' - 'wai/staged-measure-conformance/**' - - 'wai/registry/**' - '.github/workflows/wai-web-reach.yml' + schedule: + - cron: '32 4 * * *' env: REACH: wai/wai-web/reach diff --git a/.github/workflows/wai-web-wasm.yml b/.github/workflows/wai-web-wasm.yml index 0bc4b19b7..dfe99c844 100644 --- a/.github/workflows/wai-web-wasm.yml +++ b/.github/workflows/wai-web-wasm.yml @@ -57,24 +57,6 @@ concurrency: cancel-in-progress: true on: - push: - branches: [main] - paths: - - 'wai/wai-web/**' - - 'wai/wai-rs/**' - # wai-rs's integer decoders depend on the integer operator set. - - 'wai/wai-ops/**' - - 'wai/wai-quantum/**' - # quantum::tests and quantum_toolchain::tests read the quantum corpora. - - 'wai/quantum-conformance/**' - - 'wai/neural-conformance/**' - - 'wai/staged-conformance/**' - - 'wai/staged-measure-conformance/**' - - 'wai/int-payload-conformance/**' - - 'wai/claim-conformance/**' - - 'wai/score-conformance/**' - - 'wai/registry/**' - - '.github/workflows/wai-web-wasm.yml' pull_request: paths: - 'wai/wai-web/**' @@ -90,8 +72,9 @@ on: - 'wai/int-payload-conformance/**' - 'wai/claim-conformance/**' - 'wai/score-conformance/**' - - 'wai/registry/**' - '.github/workflows/wai-web-wasm.yml' + schedule: + - cron: '45 5 * * *' jobs: # Does this pull request's own diff touch the paths below? This forge matches a -- 2.54.0 (Apple Git-157)