Skip to content

Canonical CI: grouped-tests.yml + root test/test_groups.toml#604

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

Canonical CI: grouped-tests.yml + root test/test_groups.toml#604
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:grouped-tests-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Summary

Converts the root test workflow (Tests.yml) into the canonical thin caller of SciML/.github/.github/workflows/grouped-tests.yml@v1, moving the test matrix into a new root test/test_groups.toml.

What changed

  • .github/workflows/Tests.yml: the hand-maintained version × group matrix job (which called tests.yml@v1) is replaced by a thin caller:
    jobs:
      tests:
        uses: "SciML/.github/.github/workflows/grouped-tests.yml@v1"
        secrets: "inherit"
    name: "Run Tests", the on: triggers (push/PR to master, paths-ignore: docs/**), and the concurrency: block are all preserved verbatim, so branch-protection status checks are unaffected.
  • test/test_groups.toml (new, repo root): declares the matrix once.
    [InterfaceI]
    versions = ["lts", "1", "pre"]
    
    [InterfaceII]
    versions = ["lts", "1", "pre"]
    
    [QA]
    versions = ["lts", "1"]

No with: inputs are needed: runtests.jl already reads the standard GROUP env var, and check-bounds (yes), coverage (true), coverage-directories (src,ext — this package has extensions) and group-env-name (GROUP) all match the grouped-tests.yml@v1 defaults that the old job was already using. Linux-only, so no os field is added (default ubuntu-latest). No runtests.jl change — the QA/InterfaceI/InterfaceII GROUP dispatch already exists.

Matrix match

Verified with compute_affected_sublibraries.jl <root> --root-matrix (SciML/.github@v1). The emitted (group, version) set is 8/8 exact vs. the old workflow:

group versions
InterfaceI lts, 1, pre
InterfaceII lts, 1, pre
QA lts, 1

Old matrix was {1, lts, pre} × {InterfaceI, InterfaceII, QA} excluding pre + QA = 8 cells; the new TOML reproduces exactly those 8 cells. TOML and YAML both parse cleanly.

QA

Category A (QA group already present in runtests.jl), so static matrix-verify only; no local Aqua/JET run performed and no source changes. No QA exclusions were added.

All other workflow files (Downgrade, Documentation, FormatCheck, GPU, SpellCheck, TagBot, DependabotAutoMerge, DocPreviewCleanup) are left untouched.

🤖 Generated with Claude Code

Ignore until reviewed by @ChrisRackauckas.

Convert the root test workflow (Tests.yml) to the canonical thin caller of
SciML/.github/.github/workflows/grouped-tests.yml@v1, with the group x version
matrix declared once in test/test_groups.toml at the repo root.

The previous Tests.yml hand-maintained a version x group matrix (versions
1/lts/pre x groups InterfaceI/InterfaceII/QA, excluding pre+QA) calling
tests.yml@v1. That exact 8-cell matrix is now reproduced by test_groups.toml:
InterfaceI and InterfaceII on [lts, 1, pre], QA on [lts, 1].

runtests.jl already dispatches on the standard GROUP env var and already has a
QA group, so no runtests.jl change is needed and no with: inputs are required
(check-bounds, coverage, coverage-directories=src,ext, group-env-name=GROUP all
match the grouped-tests.yml@v1 defaults). on: triggers and concurrency: are
preserved verbatim; name: "Run Tests" is kept so branch-protection status
checks are unaffected. All other workflow files are left untouched.

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 15:13
@ChrisRackauckas ChrisRackauckas merged commit 109c8cb into SciML:master Jun 8, 2026
4 of 6 checks passed
RomanSahakyan03 added a commit to RomanSahakyan03/JumpProcesses.jl that referenced this pull request Jun 17, 2026
The grouped-tests.yml refactor (SciML#604) drives groups from test/test_groups.toml, which did not carry over the StochasticAD group the old Tests.yml matrix declared -- so CI was not running the BoundedSSA tests. runtests.jl already dispatches GROUP=StochasticAD into the isolated env (no special runner needed).
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