Skip to content

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

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)#617
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:grouped-tests-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Summary

Replaces the hand-maintained group × version matrix in the root CI.yml test job with the thin grouped-tests.yml@v1 caller. The root package's test-group matrix is now read from test/test_groups.toml (already present from the merged monorepo uniformization).

Before — CI.yml embedded:

  test:
    name: "Tests"
    strategy:
      matrix:
        group: [Core, nopre]
        version: ['1', 'lts', 'pre']
        exclude:
          - group: nopre
            version: 'pre'
    uses: "SciML/.github/.github/workflows/tests.yml@v1"
    with:
      julia-version: "${{ matrix.version }}"
      group: "${{ matrix.group }}"
      coverage-directories: "src"

After:

  tests:
    uses: "SciML/.github/.github/workflows/grouped-tests.yml@v1"
    with:
      coverage-directories: "src"
    secrets: "inherit"

The matrix now lives in test/test_groups.toml:

[Core]
versions = ["lts", "1", "pre"]

[nopre]
versions = ["lts", "1"]

Verified matrix match — 5/5 exact

Ran scripts/compute_affected_sublibraries.jl . --root-matrix from SciML/.github@v1 and compared the emitted (group, version) set against the set the old workflow ran:

group versions
Core lts, 1, pre
nopre lts, 1 (pre excluded)

No missing, no extra. 5/5 exact.

Notes

  • name: CI, the on: triggers, and concurrency: are preserved verbatim, so the branch-protection status-check identity is unchanged.
  • The root test/runtests.jl dispatches on the default GROUP env var, so no group-env-name input is needed.
  • check-bounds and coverage defaults are unchanged (yes / true in both the old tests.yml@v1 path and grouped-tests.yml); only the non-default coverage-directories: "src" is carried over.
  • The nopre group key is intentionally lowercase to match the literal GROUP == "nopre" dispatch in runtests.jl.
  • SublibraryCI.yml (the lib/* sublibrary coverage via sublibrary-project-tests.yml@v1) is untouched.

Ignore until reviewed by @ChrisRackauckas.

…oml)

Replace the hand-maintained group x version matrix in the root CI.yml test
job with the thin grouped-tests.yml@v1 caller. The (group, version) matrix is
now read from test/test_groups.toml, which already declares the root groups
(Core on [lts,1,pre]; nopre on [lts,1]) and reproduces the previous matrix
exactly (5/5). coverage-directories: "src" is preserved as the only non-default
input. The root reads its group from the default GROUP env var, so no
group-env-name input is needed. SublibraryCI.yml (lib/* coverage) is 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 11:48
@ChrisRackauckas ChrisRackauckas merged commit db961f1 into SciML:master Jun 8, 2026
10 of 11 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