ci: run MSan on arm64 #74

Merged
andrew merged 1 commits from weaselbot/conflict-set:weaselbot/issue-73 into main 2026-08-03 12:27:50 +00:00
Member

Closes #73

Adds a debug-arm64 matrix entry to the test job that builds in Debug with -DMSAN_TOOLCHAIN_PATH=/opt/msan on an ubuntu-latest-arm64 runner, so the MSan fuzz tests (conflict_set_msan_*) now run on arm.

The arm instrumented libc++ toolchain (msan-toolchain-22.1.8) is built against LLVM 22, so this entry installs clang-22 from apt.llvm.org; the existing amd64 entries continue to use clang-21 with the 21.1.8 toolchain. MSan requires the instrumented libc++ and the compiler's MSan runtime to come from the same LLVM release line, so the versions are matched per arch.

To support this, the test matrix is generalized with runner, arch, llvm_version, and msan_url fields, and the apt cache key, LLVM install step, and MSan toolchain download step are driven by those per-entry values.

Closes #73 Adds a `debug-arm64` matrix entry to the `test` job that builds in `Debug` with `-DMSAN_TOOLCHAIN_PATH=/opt/msan` on an `ubuntu-latest-arm64` runner, so the MSan fuzz tests (`conflict_set_msan_*`) now run on arm. The arm instrumented libc++ toolchain (`msan-toolchain-22.1.8`) is built against LLVM 22, so this entry installs `clang-22` from apt.llvm.org; the existing amd64 entries continue to use `clang-21` with the `21.1.8` toolchain. MSan requires the instrumented libc++ and the compiler's MSan runtime to come from the same LLVM release line, so the versions are matched per arch. To support this, the `test` matrix is generalized with `runner`, `arch`, `llvm_version`, and `msan_url` fields, and the apt cache key, LLVM install step, and MSan toolchain download step are driven by those per-entry values.
weaselbot added 1 commit 2026-08-03 03:28:52 +00:00
ci: run MSan on arm64
CI / test (arm64, -DCMAKE_BUILD_TYPE=Debug -DMSAN_TOOLCHAIN_PATH=/opt/msan, 22, https://minio.weaselab.dev/public/aarch64/msan-toolchain-22.1.8.tar.zst, debug-arm64, ubuntu-latest-arm64) (pull_request) Successful in 3m53s
CI / release (arm64, , ubuntu-latest-arm64) (pull_request) Successful in 2m36s
CI / pre-commit (pull_request) Successful in 2m0s
CI / test (amd64, -DCMAKE_BUILD_TYPE=Debug -DMSAN_TOOLCHAIN_PATH=/opt/msan, 21, https://minio.weaselab.dev/public/x86_64/msan-toolchain-21.1.8.tar.zst, debug, ubuntu-latest-amd64) (pull_request) Successful in 3m50s
CI / test (amd64, -DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 21, , 64-bit-versions, ubuntu-latest-amd64) (pull_request) Successful in 3m18s
CI / test (amd64, -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, 21, , gcc, ubuntu-latest-amd64) (pull_request) Successful in 3m13s
CI / test (amd64, -DUSE_SIMD_FALLBACK=ON, 21, , simd-fallback, ubuntu-latest-amd64) (pull_request) Successful in 3m18s
CI / release (amd64, -DMSAN_TOOLCHAIN_PATH=/opt/msan, ubuntu-latest-amd64) (pull_request) Successful in 5m35s
CI / coverage (pull_request) Successful in 3m43s
70630649d9
Add a debug-arm64 matrix entry to the test job that runs the MSan
fuzz tests on an arm64 runner. The arm instrumented libc++ toolchain
(22.1.8) is built against LLVM 22, so this entry installs clang-22
from apt.llvm.org while the existing amd64 entries keep clang-21.

Generalize the test job matrix with runner/arch/llvm_version/msan_url
fields so the runner, apt cache key, LLVM toolchain version, and MSan
toolchain download URL are selected per matrix entry.

Closes #73
weaselbot requested review from andrew 2026-08-03 03:28:55 +00:00
andrew merged commit b0e326aacc into main 2026-08-03 12:27:50 +00:00
andrew deleted branch weaselbot/issue-73 2026-08-03 12:27:51 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weaselab/conflict-set#74