Skip to content

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

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Summary

Converts the root test workflow .github/workflows/Tests.yml to the canonical thin caller SciML/.github/.github/workflows/grouped-tests.yml@v1, declaring the group × version matrix once in a ROOT test/test_groups.toml.

The package already dispatches Core / NoPre groups via the GROUP env var in test/runtests.jl (Category A), so no runtests.jl change was made. NoPre runs the QA (Aqua) + JET checks, guarded by isempty(VERSION.prerelease) in runtests.jl.

Changes

  • .github/workflows/Tests.yml: matrix test job replaced by the thin caller. Filename and name: "Tests" are unchanged so branch-protection status checks are preserved. on: triggers (pull_request / push / schedule, paths-ignore: docs/**) and concurrency: are preserved verbatim.
  • test/test_groups.toml (new, repo root): declares the matrix.
[Core]
versions = ["lts", "1", "pre"]

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

No with: inputs were needed: the old caller used tests.yml@v1 defaults throughout (GROUP env var, check-bounds: yes, coverage on, coverage-directories: src,ext), all of which are the defaults of grouped-tests.yml@v1.

Matrix match — 6/6 exact

compute_affected_sublibraries.jl --root-matrix (from SciML/.github@v1) emits exactly the previous workflow's cross product:

group versions
Core lts, 1, pre
NoPre lts, 1, pre

Old workflow: group ∈ {Core, NoPre} × version ∈ {1, lts, pre} = 6 cells. Emitted: the same 6 (group, version) pairs, all runner: ubuntu-latest (Linux-only; no os field added). Group names are passed verbatim to GROUP, preserving the existing runtests.jl dispatch.

QA

Category A: existing QA (Aqua + JET) already wired via the NoPre group; static matrix-verify only, no local QA run. TOML and YAML both parse cleanly.

Ignore until reviewed by @ChrisRackauckas.

Convert the root test workflow (Tests.yml) to the canonical thin caller
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 package already dispatches Core / NoPre via the GROUP env var in
test/runtests.jl, so no runtests.jl change is needed. The TOML reproduces
the previous matrix exactly: Core and NoPre each on [lts, 1, pre].

on: triggers and concurrency are preserved verbatim; filename and
`name:` are unchanged so branch-protection status checks are preserved.

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:12
@ChrisRackauckas ChrisRackauckas merged commit 8b19b5e into SciML:main Jun 8, 2026
6 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