Canonical CI: grouped-tests.yml + root test/test_groups.toml#4610
Draft
ChrisRackauckas-Claude wants to merge 2 commits into
Draft
Canonical CI: grouped-tests.yml + root test/test_groups.toml#4610ChrisRackauckas-Claude wants to merge 2 commits into
ChrisRackauckas-Claude wants to merge 2 commits into
Conversation
Convert the root Tests.yml to a thin caller of the reusable SciML/.github grouped-tests.yml@v1 workflow, moving the hand-maintained group x version matrix into test/test_groups.toml at the repo root. - Tests.yml: replace the inline matrix test job with a thin caller to grouped-tests.yml@v1 (secrets: inherit). Preserve on:/concurrency: verbatim and keep the non-default coverage-directories input. - test/test_groups.toml: declare the 8 existing groups (InterfaceI, InterfaceII, Initialization, SymbolicIndexingInterface, Extensions, Optimization, Downstream, FMI) on ["lts","1","pre"], plus a new QA group on ["lts","1"]. --root-matrix reproduces the previous 24-job matrix exactly, plus 2 QA jobs. - runtests.jl: add GROUP=="QA" dispatch with a qa env activation, running test/qa/qa.jl. - test/qa/: new isolated env (Aqua + JET + Test + ModelingToolkit via [sources]) running Aqua.test_all and JET.test_package. - Project.toml: bump [compat] julia "1.9" -> "1.10" (LTS floor) and add [compat] entries for all [extras] that lacked them (benign metadata fixes for Aqua's project_extras / deps_compat checks). Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The QA sub-environment activated by Pkg.activate(test/qa) runs Aqua.test_all, which exercises Pkg-backed checks. Add Pkg to test/qa/Project.toml [deps] so the QA group resolves it explicitly rather than relying on a transitive dependency. Co-Authored-By: Chris Rackauckas <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.
Summary
Converts the root
Tests.ymlto the canonical thin caller of the reusableSciML/.githubgrouped-tests.yml@v1workflow, moving the previously hand-maintained group × version matrix into a roottest/test_groups.toml..github/workflows/Tests.yml— replace the inline matrix test job with a thin caller togrouped-tests.yml@v1(secrets: inherit).on:andconcurrency:are preserved verbatim, filename andname:unchanged. The only non-default input retained iscoverage-directories: "src,ext,lib/ModelingToolkitBase/src,lib/ModelingToolkitBase/ext". (The oldself-hosted: ${{ vars.USE_SELF_HOSTED == 'true' }}toggle is dropped; the matrix now uses the standardubuntu-latestrunner, configurable per-group viarunnerintest_groups.toml.)test/test_groups.toml(new) — declares the 8 existing groups (InterfaceI,InterfaceII,Initialization,SymbolicIndexingInterface,Extensions,Optimization,Downstream,FMI) on["lts","1","pre"], plus a newly-wiredQAgroup on["lts","1"]. Linux-only (noosaxis).test/runtests.jl— addGROUP == "QA"dispatch with aqaenv activation runningtest/qa/qa.jl.test/qa/(new) — isolated env (Aqua+JET+Test+ModelingToolkitvia[sources] path="../..");qa.jlrunsAqua.test_all(ModelingToolkit)andJET.test_package(ModelingToolkit; target_defined_modules=true).Project.toml— benign metadata fixes: bump[compat] julia1.9→1.10(LTS floor; also clears Aqua'sproject_extras<=1.1check), and add[compat]entries for all 22[extras]deps that lacked one (Aquadeps_compat).Matrix match
scripts/compute_affected_sublibraries.jl . --root-matrix(run statically against the new TOML) reproduces the previous 24-job matrix exactly (8 groups × 3 versions), verified programmatically as set-equal to the old inline matrix, plus the 2 newQAjobs (lts,1). All cells useubuntu-latest(Linux-only). TOML and YAML parse-validated; Julia files syntax-checked. Tests/Aqua/JET were not run locally — this is a structural conversion.Notes
QAgroup is newly wired; Aqua/JET run in CI — any failures will be triaged in a follow-up. No test/Aqua/JET exclusions were added.Ignore until reviewed by @ChrisRackauckas.
🤖 Generated with Claude Code