Canonical CI: grouped-tests.yml + root test/test_groups.toml#49
Merged
ChrisRackauckas merged 3 commits intoJun 15, 2026
Merged
Conversation
Convert the root Tests.yml to the canonical thin caller of
SciML/.github/.github/workflows/grouped-tests.yml@v1, with the
group x version matrix declared once in test/test_groups.toml.
- Tests.yml: replace the version matrix job (tests.yml@v1, version "1")
with the grouped-tests.yml@v1 thin caller; preserve on:+concurrency:
and name: verbatim. coverage-directories: "src" (no ext/ dir).
- test/test_groups.toml: Core on [lts,1,pre], QA on [lts,1] (Linux-only).
- test/runtests.jl: add GROUP dispatch (existing suite under Core/All;
new QA group activates test/qa and runs Aqua + JET).
- test/qa/{Project.toml,qa.jl}: new QA environment running
Aqua.test_all and JET.test_package(target_defined_modules=true).
- Project.toml: add [compat] entries for all [extras] deps
(DifferentialEquations, SafeTestsets, Test); julia floor already 1.10.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
test/runtests.jl does `using Pkg` for the QA group's Pkg.activate, but Pkg was not a declared test dependency, so the Core group (run with project='.') failed with `ArgumentError: Package Pkg not found in current path`. Declare Pkg in [extras] and [targets].test. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ts conversion) Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Added the SciMLTesting v1.2 folder-based run_tests harness on top of this grouped-tests conversion; merges as one PR (grouped-tests + SciMLTesting v1.2). |
ChrisRackauckas
added a commit
that referenced
this pull request
Jun 17, 2026
The Runic format check on main fails because `test/qa/qa.jl` (added in PR #49) was not Runic-formatted. Reformat the multi-line `run_qa(...)` call to satisfy Runic 1.7.0. No behavior change. Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Converts the root test workflow to the canonical thin caller of
SciML/.github/.github/workflows/grouped-tests.yml@v1, with the group × version matrix declared once intest/test_groups.toml.Changes
.github/workflows/Tests.yml(root test workflow, nameTests): replaced the inline version matrix job (tests.yml@v1, singleversion: "1", whole suite, no group) with thegrouped-tests.yml@v1thin caller.on:+concurrency:andname:preserved verbatim. Only non-defaultwith:iscoverage-directories: "src"(noext/dir in this repo). Linux-only (noosfield). Other workflows (Downgrade, Documentation, FormatCheck, SpellCheck, TagBot, etc.) untouched.test/test_groups.toml(new):Coreon[lts, 1, pre],QAon[lts, 1].test/runtests.jl: addedGROUPdispatch. The existing suite (base/simple_steady_state.jl,reactors/simple_cstr.jl) runs underCore/All; the newQAgroup activatestest/qaand runs Aqua + JET.test/qa/Project.toml+test/qa/qa.jl(new): isolated QA environment runningAqua.test_all(ProcessSimulator)andJET.test_package(ProcessSimulator; target_defined_modules = true), gated onGROUP == "QA". Package wired via[sources]path =../...Project.toml: added[compat]entries for all[extras]deps (DifferentialEquations,SafeTestsets,Test).juliafloor already at1.10(LTS), left unchanged.Matrix match
The matrix was statically computed via
compute_affected_sublibraries.jl --root-matrixagainst thistest/test_groups.tomland produces exactly:(5 jobs, Linux-only.) The old workflow ran the whole suite on Julia
"1"as a single job; the newCoregroup reproduces that whole-suite run on1and additionally coversltsandpre. TheQAgroup is newly wired.TOML and all workflow YAML files were verified to parse. No tests, Aqua, or JET were run locally (structural conversion only).
QA group 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