diff --git a/.github/workflows/wai-quantum-sme.yml b/.github/workflows/wai-quantum-sme.yml index 4f49399dd..aaf1cdbe7 100644 --- a/.github/workflows/wai-quantum-sme.yml +++ b/.github/workflows/wai-quantum-sme.yml @@ -5,9 +5,10 @@ name: wai-quantum matrix-extension member # against the CPU reference's pinned corpus digests. # # - sme-emulated (the container runner): the member's device tests for aarch64 -# Linux, run through the host's user-mode emulator (its binfmt handler, which -# emulates SME); the runner declares the emulator, and every certificate says -# it was earned there, never on silicon. +# Linux, run under a user-mode emulator the job fetches and runs itself +# (Debian's static QEMU, pinned, which emulates SME), never the host's binfmt +# handler; the job declares the emulator, and every certificate says it was +# earned there, never on silicon. # - sme-absent (the macOS runner, whose processor has no SME): the same build # finds no member and says why. # @@ -62,12 +63,17 @@ jobs: options: --memory=6g --memory-swap=6g env: WAI_QUANTUM_SME_EXPECT: cpu-matrix-sme - # The host's binfmt handler runs every aarch64 binary; its emulator is - # what the certificates name. - WAI_QUANTUM_SME_EMULATOR: qemu-user 8.2.2 (the host's binfmt handler) - # Run the test binary directly, so the host's handler (which emulates - # SME) runs it, not the image's older emulator. - CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER: env + # The emulator every aarch64 test binary runs under, which the certificates + # name: Debian's static QEMU, SHA-256 pinned, fetched by the job and named as + # cargo's runner. Not the image's own (5.1), and not the host's binfmt + # handler, which some `linux` runners lack and others run at another + # version. (Not QEMU_*: qemu-user reads every QEMU_