Canonical CI: grouped-tests.yml + root test/test_groups.toml#106
Merged
ChrisRackauckas merged 1 commit intoJun 8, 2026
Merged
Conversation
Convert the root CI workflow (ci.yml, name: CI) from a hand-maintained
group x version x os matrix calling tests.yml@v1 into a thin caller of the
canonical grouped-tests.yml@v1. The matrix now lives in test/test_groups.toml
at the repo root and is computed by compute_affected_sublibraries.jl
--root-matrix.
runtests.jl already dispatches on the GROUP env var via TestItemRunner tags
("All" = everything except :nopre-tagged items; "nopre" = only :nopre-tagged),
so no runtests.jl change is needed (default group-env-name GROUP).
The old job set no non-default tests.yml inputs (no check-bounds, coverage on,
default src,ext, no apt packages), so the thin caller needs no `with:` block.
on: triggers and concurrency: are preserved verbatim; name: CI is kept so the
branch-protection status check is preserved.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Converts the root test workflow (
ci.yml,name: CI, jobTests) from a hand-maintainedgroup × version × osmatrix that calledtests.yml@v1into a thin caller of the canonicalgrouped-tests.yml@v1. The test matrix now lives once in a roottest/test_groups.tomland is computed bycompute_affected_sublibraries.jl --root-matrix.The new
jobs.tests:No
with:inputs are needed: the old job set no non-defaults (nocheck-bounds, coverage on, defaultsrc,extcoverage dirs, no apt packages), andruntests.jlreads the defaultGROUPenv var.on:triggers andconcurrency:are preserved verbatim, andname: CIis kept so the branch-protection status check name is unchanged. No other workflow files were touched.test/test_groups.toml
This reproduces the old matrix exactly:
Allon {1, lts, pre} andnopreon {1, lts} (the oldnopre × preexclude), each across the three OSes.runtests.jlalready dispatches onGROUPvia TestItemRunner tags (All= everything except:nopre-tagged items,nopre= only:nopre-tagged items), so noruntests.jlchange is needed.Matrix match
Verified with
julia scripts/compute_affected_sublibraries.jl <repo> --root-matrixagainst the v1SciML/.githubscript: the emitted(group, version, os)set is 15/15 exact vs the old workflow's expanded matrix. TOML and YAML both parse cleanly.QA
Category A — the repo already has Aqua + ExplicitImports QA test items (
test/qa.jl, tagged:qa), which run inside the existingAll/nopregroups. No QA changes, no source bugs surfaced; static matrix-verify only.Ignore until reviewed by @ChrisRackauckas.