Skip to content

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

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Summary

Converts the root Tests.yml test workflow into the canonical thin caller of SciML/.github/.github/workflows/grouped-tests.yml@v1, with the test matrix declared once in a root test/test_groups.toml.

The jobs.tests block is now simply:

jobs:
  tests:
    uses: "SciML/.github/.github/workflows/grouped-tests.yml@v1"
    secrets: "inherit"

No with: inputs are needed: the old caller used all defaults (GROUP env var, check-bounds: yes, coverage on, coverage-directories: src,ext, no apt packages). runtests.jl already dispatches on GROUP (Core / QA / NoPre), so it is unchanged.

The on: triggers and concurrency: block are preserved verbatim, and the filename (Tests.yml) and name: "Tests" are unchanged so existing branch-protection status checks keep matching.

Matrix declared in test/test_groups.toml

[Core]
versions = ["1", "lts", "pre"]
os = ["ubuntu-latest", "macos-latest", "windows-latest"]

[QA]
versions = ["1", "lts", "pre"]
os = ["ubuntu-latest", "macos-latest", "windows-latest"]

[NoPre]
versions = ["1", "lts", "pre"]
os = ["ubuntu-latest", "macos-latest", "windows-latest"]

Matrix match: 27/27 exact

Verified with scripts/compute_affected_sublibraries.jl . --root-matrix (SciML/.github@v1). The emitted (group, version, runner) set is exactly the old Tests.yml cartesian product — {Core, QA, NoPre} x {1, lts, pre} x {ubuntu-latest, macos-latest, windows-latest} = 27 cells, no missing, no extra. TOML and YAML both parse cleanly.

QA findings

None. Category A repo — runtests.jl already has Core/QA/NoPre GROUP dispatch and a QA group running Aqua; no runtests.jl change and no source-bug exclusions were introduced. Project.toml metadata already conforms (julia floor 1.10 LTS, [compat] entries present, [extras]/[targets].test aligned), so no benign-metadata fixes were required.

Ignore until reviewed by @ChrisRackauckas.

Convert the root Tests.yml test workflow to the canonical thin caller of
SciML/.github/.github/workflows/grouped-tests.yml@v1, moving the
group x version x os matrix into a root test/test_groups.toml.

The matrix is reproduced exactly (27/27): groups Core, QA, NoPre, each
on versions ["1","lts","pre"] and OSes
["ubuntu-latest","macos-latest","windows-latest"]. runtests.jl already
dispatches on GROUP (Core/QA/NoPre), so no runtests.jl change is needed.
No with: inputs are required since the old caller used all defaults
(GROUP env var, check-bounds yes, coverage on, src,ext directories).

on: triggers and concurrency: are preserved verbatim; filename and
name: are unchanged to keep branch-protection status checks intact.

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:14
@ChrisRackauckas ChrisRackauckas merged commit 433890c into SciML:master Jun 8, 2026
4 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