Skip to content

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

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#112
ChrisRackauckas merged 3 commits into
SciML:masterfrom
ChrisRackauckas-Claude:grouped-tests-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Summary

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

  • Tests.yml becomes a thin caller of SciML/.github/.github/workflows/grouped-tests.yml@v1 (secrets: inherit, all-default with:). The on: and concurrency: blocks are preserved verbatim.
  • test/test_groups.toml declares the matrix:
    • Core on [lts, 1, pre] × [ubuntu-latest, windows-latest, macos-latest]
    • QA on [lts, 1] (ubuntu)
  • Category B refactor — Aqua and ExplicitImports were previously inline inside the Core group, and JET ran as a standalone JET.yml workflow with its own test/jet/ project. These are consolidated into a single QA group, isolated in test/qa/Project.toml (Aqua / ExplicitImports / JET / Test + the package via [sources]). runtests.jl activates + develops + instantiates that env when GROUP=="QA", then runs qa.jl (Aqua), explicit_imports.jl, and qa/jet.jl. JET.yml and test/jet/ are removed.
  • Core keeps the functional + allocation tests (basic, more_generic, cartesian, alloc_tests).
  • Project.toml — QA-only deps (Aqua, ExplicitImports) dropped from the main [extras]/[targets] now that they live in test/qa. The julia compat stays at the 1.10 LTS floor; all remaining [extras] entries carry [compat] bounds.

Matrix match

The emitted root matrix reproduces the OLD workflows exactly:

group versions OS
Core lts, 1, pre ubuntu-latest, windows-latest, macos-latest (was Tests.yml: [1,lts,pre] × [ubuntu,macos,windows])
QA lts, 1 ubuntu-latest (was JET.yml: [1,lts] ubuntu; Aqua/ExplicitImports were inline in Core)

Verified statically with compute_affected_sublibraries.jl --root-matrix (11 cells: 9 Core + 2 QA). TOML and YAML parse confirmed. No tests / Aqua / JET were run locally — this is a structural conversion.

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


Ignore until reviewed by @ChrisRackauckas.

🤖 Generated with Claude Code

ChrisRackauckas and others added 3 commits June 9, 2026 17:57
Convert the root test workflow to the canonical SciML grouped-tests.yml@v1
thin caller, with the version/OS/group matrix declared once in
test/test_groups.toml.

- Tests.yml becomes a thin caller (on:/concurrency: preserved verbatim).
- test/test_groups.toml: Core on [lts,1,pre] x [ubuntu,windows,macos];
  QA on [lts,1].
- Aqua + ExplicitImports (previously inline in Core) and JET (previously a
  standalone JET.yml workflow) are consolidated into a QA group, isolated in
  test/qa/Project.toml (Aqua/ExplicitImports/JET/Test + the package via
  [sources]). runtests.jl activates + develops + instantiates that env when
  GROUP==QA. JET.yml and test/jet/ removed.
- Core keeps the functional + allocation tests (basic, more_generic,
  cartesian, alloc_tests).
- Project.toml: QA-only deps (Aqua, ExplicitImports) dropped from the main
  [extras]/[targets] now that they live in test/qa. julia compat stays at the
  1.10 LTS floor; all remaining [extras] entries have [compat] bounds.

No tests/Aqua/JET were run locally; this is a structural conversion.

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` to activate the QA sub-environment. Pkg was not a declared
test dependency in the root test env, so the Core job failed 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>
…mpat)

The QA group's Aqua test_deps_compat extras check fails because Pkg is
listed in [extras]/[targets].test without a [compat] entry. Keep the deps
and weakdeps sub-checks running (check_extras=false) and mark the extras
finding @test_broken so the QA group is green. Tracked in
SciML#113.

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:43
@ChrisRackauckas ChrisRackauckas merged commit 062ccf5 into SciML:master Jun 10, 2026
12 of 17 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