From 7e699e37c5009fe0172b439b6ef1894d4a8f51e0 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Thu, 15 Oct 2026 04:36:55 -0400 Subject: [PATCH] ci: architecture-neutral jobs run on linux-arm64, balancing the two Linux pools On 2026-10-15 the one x86_64 runner (linux, two slots) had about 104 jobs queued while the linux-arm64 runner on the build host sat idle. Thirteen of the jobs pinned to linux need nothing x86_64: every tool they use comes through rustup, pip, apt, npm or cargo install, which pick the host's architecture, and nothing they check depends on it. They now run on linux-arm64: - wai-http: its path gate, the falsify shards, the shard-coverage check, the corpus verified both ways with its differential, and the cache rules; - wai-pack: its path gate, the independent verifier, the floor through a media prober (ffmpeg from apt) and the dependency licences (cargo-deny); - wai-conformance: the v2 vocabulary, the independent verifiers, delivery telemetry against an independent library, and C2PA emission. The wasm32-wasip2 quantum job stays on linux: it pins an x86_64 wasmtime archive and refuses any other host. The Kani shard stays too. Byte-equality and cross-architecture legs keep both labels, as before. The three workflows parse; the concurrency check passes. This change runs them in full, on their new runner, before it merges. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/wai-conformance.yml | 8 ++++---- .github/workflows/wai-http.yml | 10 +++++----- .github/workflows/wai-pack.yml | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/wai-conformance.yml b/.github/workflows/wai-conformance.yml index 080668132..09ffa3f0c 100644 --- a/.github/workflows/wai-conformance.yml +++ b/.github/workflows/wai-conformance.yml @@ -713,7 +713,7 @@ jobs: needs: relevant if: needs.relevant.outputs.run == 'true' name: v2 vocabulary · manifests validate as stated - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v5 - uses: actions/setup-python@v5 @@ -743,7 +743,7 @@ jobs: needs: relevant if: needs.relevant.outputs.run == 'true' name: independent verifiers · claims, JWP, key discovery and integer payloads (Python) - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v5 @@ -903,7 +903,7 @@ jobs: needs: relevant if: needs.relevant.outputs.run == 'true' name: delivery telemetry · CMCD and CMSD against an independent library - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v5 - uses: actions/setup-node@v4 @@ -1049,7 +1049,7 @@ jobs: needs: relevant if: needs.relevant.outputs.run == 'true' name: C2PA manifest emission · signed, read back, validated - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/wai-http.yml b/.github/workflows/wai-http.yml index 29cddddae..6e77740b0 100644 --- a/.github/workflows/wai-http.yml +++ b/.github/workflows/wai-http.yml @@ -165,7 +165,7 @@ jobs: # schedule has no pull-request context and runs everything. relevant: name: WAI HTTP · does this change touch it - runs-on: linux + runs-on: linux-arm64 outputs: run: ${{ steps.gate.outputs.run }} steps: @@ -187,7 +187,7 @@ jobs: name: HTTP corpus · falsify ${{ matrix.shard }} needs: relevant if: needs.relevant.outputs.run == 'true' - runs-on: linux + runs-on: linux-arm64 strategy: fail-fast: false matrix: @@ -233,7 +233,7 @@ jobs: name: HTTP corpus · every patch and mutation in exactly one shard needs: relevant if: needs.relevant.outputs.run == 'true' - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v5 - shell: bash @@ -247,7 +247,7 @@ jobs: name: HTTP corpus · verified both ways, and the differential needs: relevant if: needs.relevant.outputs.run == 'true' - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v5 @@ -285,7 +285,7 @@ jobs: name: cache rules · controls and labelled caches needs: relevant if: needs.relevant.outputs.run == 'true' - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v5 diff --git a/.github/workflows/wai-pack.yml b/.github/workflows/wai-pack.yml index ef3999f3d..3462a69db 100644 --- a/.github/workflows/wai-pack.yml +++ b/.github/workflows/wai-pack.yml @@ -74,7 +74,7 @@ jobs: # `true` — a push to main runs everything, as before. relevant: name: wai-pack · does this change touch it - runs-on: linux + runs-on: linux-arm64 outputs: run: ${{ steps.gate.outputs.run }} steps: @@ -160,7 +160,7 @@ jobs: name: wai-pack · independent verifier (Python) needs: relevant if: needs.relevant.outputs.run == 'true' - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v5 - uses: actions/setup-python@v5 @@ -238,7 +238,7 @@ jobs: name: wai-pack · the floor through a media prober needs: relevant if: needs.relevant.outputs.run == 'true' - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v5 - name: Install a media prober @@ -274,7 +274,7 @@ jobs: name: wai-pack · dependency licences needs: relevant if: needs.relevant.outputs.run == 'true' - runs-on: linux + runs-on: linux-arm64 steps: - uses: actions/checkout@v5 - name: Install Rust 1.98.0 -- 2.54.0 (Apple Git-157)