Skip to content

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

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

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

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 in test/test_groups.toml.

Changes

  • .github/workflows/Tests.yml (root test workflow, name Tests): replaced the inline version matrix job (tests.yml@v1, single version: "1", whole suite, no group) with the grouped-tests.yml@v1 thin caller. on: + concurrency: and name: preserved verbatim. Only non-default with: is coverage-directories: "src" (no ext/ dir in this repo). Linux-only (no os field). Other workflows (Downgrade, Documentation, FormatCheck, SpellCheck, TagBot, etc.) untouched.
  • test/test_groups.toml (new): Core on [lts, 1, pre], QA on [lts, 1].
  • test/runtests.jl: added GROUP dispatch. The existing suite (base/simple_steady_state.jl, reactors/simple_cstr.jl) runs under Core/All; the new QA group activates test/qa and runs Aqua + JET.
  • test/qa/Project.toml + test/qa/qa.jl (new): isolated QA environment running Aqua.test_all(ProcessSimulator) and JET.test_package(ProcessSimulator; target_defined_modules = true), gated on GROUP == "QA". Package wired via [sources] path = ../...
  • Project.toml: added [compat] entries for all [extras] deps (DifferentialEquations, SafeTestsets, Test). julia floor already at 1.10 (LTS), left unchanged.

Matrix match

The matrix was statically computed via compute_affected_sublibraries.jl --root-matrix against this test/test_groups.toml and produces exactly:

group versions runner
Core lts, 1, pre ubuntu-latest
QA lts, 1 ubuntu-latest

(5 jobs, Linux-only.) The old workflow ran the whole suite on Julia "1" as a single job; the new Core group reproduces that whole-suite run on 1 and additionally covers lts and pre. The QA group 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

ChrisRackauckas and others added 3 commits June 9, 2026 18:15
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>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
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 ChrisRackauckas marked this pull request as ready for review June 15, 2026 04:57
@ChrisRackauckas ChrisRackauckas merged commit 681f1b6 into SciML:main Jun 15, 2026
4 of 11 checks passed
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>
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