Skip to content

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

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

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

This converts the root test workflow (Tests.yml) to the canonical thin caller of SciML/.github grouped-tests.yml@v1, with the test matrix declared once in a root test/test_groups.toml.

Changes

  • .github/workflows/Tests.yml: the hand-maintained group x version matrix test job is replaced with the thin caller:
    jobs:
      tests:
        uses: "SciML/.github/.github/workflows/grouped-tests.yml@v1"
        secrets: "inherit"
    The on: triggers, concurrency:, filename, and top-level name: "Tests" are preserved verbatim so the branch-protection status check is unaffected.
  • test/test_groups.toml (new): declares the matrix
    [Core]
    versions = ["lts", "1", "pre"]
    
    [nopre]
    versions = ["lts", "1"]

No with: inputs are needed: runtests.jl reads the standard GROUP env var (default group-env-name), coverage stays on, check-bounds stays at the default yes (the old caller also used the default), and coverage-directories stays at the default src,ext. Linux-only, so no os axis is added (default ubuntu-latest, matching the old arch: x64 on ubuntu-latest).

This is a Category A conversion: the Core/nopre GROUP dispatch already exists in test/runtests.jl, so there is no test-runner change and no new local Aqua/QA run was required.

Matrix match

Verified with compute_affected_sublibraries.jl --root-matrix (from SciML/.github@v1). The emitted (group, version) set reproduces the old workflow matrix exactly, 5/5:

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

All runners are ubuntu-latest. TOML and YAML both parse cleanly.

QA findings

None. No metadata fixes were needed ([compat] julia is already at the 1.10 LTS floor; [extras]/[targets].test are aligned). No source-level Aqua/JET issues to report.

Note (not addressed here, pre-existing): runtests.jl also has Enzyme and Mooncake GROUP branches that only run under GROUP=All. The old Tests.yml matrix never dispatched All/Enzyme/Mooncake, so those extension testsets did not run in CI before this PR either. To keep this an exact, behavior-preserving matrix conversion, they are intentionally not added here; expanding CI to cover them can be a separate change.

Ignore until reviewed by @ChrisRackauckas.

Convert the root Tests.yml test job to the canonical thin caller of
SciML/.github grouped-tests.yml@v1, with the group x version matrix
declared once in test/test_groups.toml. The runtests.jl GROUP dispatch
(Core/nopre) already exists, so no test-runner change is needed.

The emitted root matrix reproduces the old hand-maintained matrix exactly
(5/5): Core on {lts,1,pre} and nopre on {lts,1}.

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 54eb502 into SciML:main Jun 8, 2026
5 of 7 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