Skip to content

Simplify root CI to grouped-tests.yml (matrix from test/test_groups.toml)#613

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:grouped-tests-ci
Jun 8, 2026
Merged

Simplify root CI to grouped-tests.yml (matrix from test/test_groups.toml)#613
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:grouped-tests-ci

Conversation

@ChrisRackauckas-Claude
Copy link
Copy Markdown
Contributor

Summary

Converts the root package's CI test workflow (.github/workflows/CI.yml) from a hand-maintained group × version matrix (plus a bespoke gpu job) into the reusable grouped-tests.yml@v1 thin caller. The matrix is now declared once in test/test_groups.toml and computed by compute_affected_sublibraries.jl --root-matrix.

The sublibrary workflow (SublibraryCI.yml, which calls sublibrary-project-tests.yml@v1) is left untouched.

Changes

  • .github/workflows/CI.yml: the tests + gpu matrix jobs become a single thin caller. name: CI, the on: triggers, and concurrency: are preserved verbatim so the branch-protection status check name is unchanged. check-bounds: "auto" is carried as a workflow-level with: input (non-default). coverage-directories is left at the src,ext default (matches the old value).
  • test/test_groups.toml (new): reproduces the old matrix exactly.
    • Core, SymbolicIndexingInterface, Downstream: ["lts", "1", "pre"], num_threads = 2
    • QA, NoPre: ["lts", "1"] (the old exclude: dropped these on pre), num_threads = 2
    • GPU: version ["1"], runner = ["self-hosted", "Linux", "X64", "gpu"], timeout = 60 (folded in from the old gpu job)

The root test/runtests.jl dispatches on the default GROUP env var, so no group-env-name override is needed.

Verification

Ran compute_affected_sublibraries.jl . --root-matrix and confirmed the emitted (group, version, runner) set equals the old workflow's set exactly: 14/14, no missing, no extra. TOML and all workflow YAML files parse cleanly. The package test suite was not run locally (CI validates it).

Ignore until reviewed by @ChrisRackauckas.

…oml)

Replace the hand-maintained group x version matrix (plus the bespoke GPU
job) in the root CI.yml `tests` job with the reusable grouped-tests.yml@v1
thin caller. The matrix now lives in test/test_groups.toml and is computed
by compute_affected_sublibraries.jl --root-matrix.

The root runtests.jl dispatches on the default GROUP env var, so no
group-env-name override is needed. check-bounds: auto is preserved as a
workflow-level input. coverage-directories defaults to src,ext (matches old).

Verified the computed root matrix equals the old workflow's (group, version,
runner) set exactly: 14/14.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 8, 2026 11:49
@ChrisRackauckas ChrisRackauckas merged commit 2138d08 into SciML:master Jun 8, 2026
1 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants