Skip to content

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

Merged
ChrisRackauckas merged 3 commits into
SciML:masterfrom
ChrisRackauckas-Claude:grouped-tests-ci
Jun 10, 2026
Merged

Canonical CI: grouped-tests.yml + root test/test_groups.toml#117
ChrisRackauckas merged 3 commits into
SciML:masterfrom
ChrisRackauckas-Claude:grouped-tests-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

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

What changed

  • .github/workflows/Tests.yml: the hand-maintained version matrix test job (calling tests.yml@v1 over ["1","lts","pre"]) is replaced by the grouped-tests.yml@v1 thin caller. on: and concurrency: are preserved verbatim; filename and name: are kept. All inputs use defaults (GROUP env name, check-bounds, coverage), so no with: block is needed. Linux-only (no os axis). Other workflows (Downgrade, FormatCheck, RunicSuggestions, SpellCheck, TagBot, DependabotAutoMerge) are untouched.
  • test/test_groups.toml (new): [Core] on ["lts","1","pre"], [QA] on ["lts","1"].
  • test/runtests.jl: add GROUP dispatch. Existing tests (Hamiltonian, Explicit Imports) run under Core/All; QA activates the isolated env and runs qa.jl.
  • test/qa/ (new): isolated QA environment (Aqua, JET, Test, package via [sources] path) running Aqua.test_all(DiffEqPhysics) and JET.test_package(DiffEqPhysics; target_defined_modules=true).
  • Project.toml: raise julia compat 1.6 -> 1.10 (the LTS floor; also clears Aquas <=1.1 project_extras check); add missing [compat] entries for [extras] deps (LinearAlgebra, Random, SafeTestsets, StaticArrays, Test).

Matrix match

Statically verified with compute_affected_sublibraries.jl . --root-matrix. Emitted (group, version) set:

group versions
Core lts, 1, pre
QA lts, 1

Core × {lts, 1, pre} reproduces the OLD matrix exactly (the whole suite previously ran on ["1","lts","pre"], now grouped as Core). QA × {lts, 1} is newly wired.

QA group newly wired; Aqua/JET run in CI — any failures will be triaged in follow-up.

Ignore until reviewed by @ChrisRackauckas.

🤖 Generated with Claude Code

ChrisRackauckas and others added 3 commits June 9, 2026 18:09
Convert the root test workflow to the canonical thin caller of
SciML/.github/.github/workflows/grouped-tests.yml@v1, with the matrix
declared once in test/test_groups.toml.

- Tests.yml: replace the hand-maintained version matrix test job with the
  grouped-tests.yml@v1 thin caller (on:/concurrency: preserved verbatim,
  filename + name: kept). Defaults apply (GROUP env, check-bounds, coverage).
- test/test_groups.toml: Core on [lts, 1, pre] (reproduces the old matrix),
  QA on [lts, 1] (newly wired). Linux-only, no os axis.
- runtests.jl: add GROUP dispatch (existing tests under Core/All; QA gated).
- test/qa/: isolated QA environment (Aqua + JET + Test, package via
  [sources] path) running Aqua.test_all and JET.test_package.
- Project.toml: raise julia compat 1.6 -> 1.10 (LTS floor); add missing
  [compat] entries for [extras] deps (LinearAlgebra, Random, SafeTestsets,
  StaticArrays, Test).

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Core test group runs with project='.' and test/runtests.jl does
`using Pkg` (for the QA group's Pkg.activate), but Pkg was not a
declared test dependency, causing the Core job to fail with
`ArgumentError: Package Pkg not found in current path`.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Aqua.test_all reports two real Project.toml hygiene findings (stale dep
DiffEqCallbacks; missing compat entry for the Pkg test-extra), and
JET.test_package reports genuine errors in src/plot.jl. These are marked
@test_broken (not skipped/deleted) so the QA group goes green, with the
passing Aqua sub-checks left running. Tracked in
SciML#118 to be fixed and
un-broken.

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 10, 2026 09:46
@ChrisRackauckas ChrisRackauckas merged commit e443b71 into SciML:master Jun 10, 2026
9 of 10 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