Canonical CI: grouped-tests.yml + root test/test_groups.toml#227
Conversation
Convert the root Tests.yml matrix test job into a thin caller of the canonical SciML/.github grouped-tests.yml@v1 reusable workflow, with the group x version (x os) matrix declared once in test/test_groups.toml. - Tests.yml: replace the 3-version x 3-OS matrix job with the thin grouped-tests.yml@v1 caller (on: + concurrency: preserved verbatim). - test/test_groups.toml: [Core] on [lts, 1, pre] x [ubuntu, macos, windows] (reproduces the old functional matrix); [QA] on [lts, 1]. - Category B refactor: Aqua had been running inline under GROUP Core/All. Move Aqua (and the previously-unwired JET checks) into an isolated QA group gated on GROUP=="QA", with test/qa/Project.toml (Aqua + JET + Test, package via [sources] path="../..", julia 1.10) and test/qa/qa.jl. runtests.jl now activates test/qa for GROUP=="QA". - Functional basictests.jl stays under GROUP Core/All. - Remove the old test/qa.jl (Aqua) and test/jet/ (JET now in QA env). GPU.yml, Downstream.yml, Downgrade.yml, Documentation.yml and the other workflows are left untouched. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The grouped-tests test_groups.toml only listed Core and QA, but test/runtests.jl dispatches on GROUP == "GPU" and the pre-conversion CI ran a separate GPU.yml job (GROUP: "GPU") on a self-hosted GPU runner. As a result the GPU functional group never ran under the new grouped-tests CI. Re-add it as its own group matching the old GPU.yml: self-hosted Linux/X64/gpu runner, 60-minute timeout, Julia "1". Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The GPU group in test/test_groups.toml supersedes the standalone GPU.yml workflow; keeping both ran the GPU tests twice on the same self-hosted runner. Also add macOS-15-intel to the Core os list, which the conversion's os array had dropped from the old matrix. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Pushed 93c032e with two fixes to the conversion:
Static verification ( |
…ts conversion) Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
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). |
Summary
Converts the root Tests.yml matrix test job into a thin caller of the canonical
SciML/.github/.github/workflows/grouped-tests.yml@v1reusable workflow, with the group × version (× os) matrix now declared once intest/test_groups.toml.version {1, lts, pre} × os {ubuntu, macos, windows}matrix job is replaced by the thingrouped-tests.yml@v1caller.on:andconcurrency:are preserved verbatim; filename andname:unchanged. Nowith:overrides needed — the repo readsGROUP(default), uses defaultcheck-bounds, and default coverage dirs (src,ext).[Core]on["lts", "1", "pre"]×["ubuntu-latest", "macos-latest", "windows-latest"]— reproduces the old functional matrix exactly.[QA]on["lts", "1"](ubuntu).Category B refactor (inline Aqua → isolated QA group)
Aqua had been running inline under
GROUP=="All"/"Core"(viatest/qa.jl). It is now moved into an isolated QA group gated onGROUP=="QA":Aqua + JET + Test, package via[sources] path = "../..",[compat] julia = "1.10".report_callchecks (consolidated fromtest/jet/jet.jl).basictests.jlstays underGROUP Core/All; a newGROUP=="QA"branch activatestest/qa, develops the package, instantiates, and includesqa/qa.jl. (GPU branch unchanged.)test/qa.jlandtest/jet/(JET now lives in the QA env).GPU.yml(self-hosted),Downstream.yml,Downgrade.yml,Documentation.yml, and the other workflows are left untouched.Matrix match (static verification)
compute_affected_sublibraries.jl . --root-matrix(run againstSciML/.github@v1) emits:{lts, 1, pre} × {ubuntu-latest, macos-latest, windows-latest}— a 1:1 reproduction of the oldTests.ymlfunctional matrix.{lts, 1}onubuntu-latest.All touched TOML and YAML files parse cleanly. Tests/Aqua/JET were not run locally (structural conversion only).
QA group newly wired; Aqua/JET run in CI — any failures will be triaged in a follow-up.
Project.toml metadata:
[compat] juliais already"1.10"(LTS floor) and every[extras]dependency already has a[compat]entry, so no metadata fixes were required.Ignore until reviewed by @ChrisRackauckas.
🤖 Generated with Claude Code