ci: run each suite for what can affect it; merges no longer repeat the pull request's run #332

Merged
dcharlot merged 2 commits from ci/lean-triggers into main 2026-10-19 06:02:04 -04:00
27 changed files with 75 additions and 440 deletions

View file

@ -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

View file

@ -32,70 +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'
# tests/energy_steering.rs requires this extension's §10 to list the codes the reference
# reports, energy_steering_verify.py reads that table, and the registry's wire
# identifiers test reads its sections.
- 'wai/extensions/energy-steering.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/**'
@ -166,6 +102,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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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:

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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:

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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