The 19 macOS and 32 Windows jobs ran on every push to every pull request.
They now use the same sets as the Ubuntu jobs:
- PR set (16): four Visual Studio 2022 and two Visual Studio 2026
configurations, ARM64 Debug, Clang 20.1.8 with MinGW, MinGW x86, the
C++20 module test, Xcode 16.0, 16.4, 26.3 and 26.6, C++14 on the
latest Xcode, and the Swift Package Manager check.
- full set (34): every other Visual Studio configuration, Clang
version, clang-cl, Xcode version and C++ standard.
- nightly set (1): 64-bit MinGW, which takes about 68 minutes. A failed
nightly run opens or updates an issue.
No configuration is removed: tools/ci_jobs/ci_jobs.py --compare lists
157 configurations before and after, and all jobs keep their runner,
steps and environment. ci_jobs.py now checks all three workflows and
expands matrices that consist only of include entries correctly.
Signed-off-by: Niels Lohmann <mail@nlohmann.me>
All ~100 Ubuntu jobs ran on every push to every pull request. They now
belong to three sets, chosen by each job's if: condition:
- PR set (16 configurations): every push to a pull request and every
push. Together with the checks that always run, these jobs would
have caught at least 92 % of the failing commits of Sep/Oct 2026.
- full set (73 configurations): after the PR set passed, on pushes and
on pull requests with the "🚀 ready to merge" label.
- nightly set (10 configurations): Infer, Valgrind, coverage, icpc,
icpx, nvhpc, CUDA, and ARM64; nightly on develop, on pushes to master
and release/*, and by hand. A failed nightly run opens or updates an
issue.
A matrix whose entries belong to different sets is split into one job
per set; the jobs share their steps through YAML anchors. No
configuration is removed: tools/ci_jobs/ci_jobs.py --compare lists 150
configurations before and after. The same tool checks in CI that every
job belongs to exactly one set, that the full set waits for the whole
PR set, and that the job table in quality_assurance.md is up to date.
The documentation describes the sets in a new section "How CI runs",
and the QA pipeline figure shows the new badges.
Signed-off-by: Niels Lohmann <mail@nlohmann.me>