Skip to content

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

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:grouped-tests-ci
Jun 10, 2026
Merged

Canonical CI: grouped-tests.yml + root test/test_groups.toml#68
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:grouped-tests-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Summary

Converts the root Tests.yml test workflow to the canonical thin caller and moves the test matrix into a root test/test_groups.toml.

  • The matrix tests: job is replaced with:
    jobs:
      tests:
        uses: "SciML/.github/.github/workflows/grouped-tests.yml@v1"
        secrets: "inherit"
  • The group × version matrix now lives in test/test_groups.toml:
    [Core]
    versions = ["1", "lts"]
    
    [LineSearchesJL]
    versions = ["1", "lts"]
    
    [QA]
    versions = ["1"]
  • on:, concurrency:, the workflow name:, the separate enzyme: job, and every other workflow are left untouched.
  • No with: overrides are needed: runtests.jl already reads the default GROUP env var (ReTestItems tag dispatch), check-bounds/coverage stay at defaults, no apt packages.

Matrix match

compute_affected_sublibraries.jl --root-matrix (run with Julia 1.11) emits exactly the same (group, version) set as the previous hand-maintained matrix — 5 jobs:

Group Version
Core 1
Core lts
LineSearchesJL 1
LineSearchesJL lts
QA 1

(The old matrix excluded lts × QA; the TOML reproduces that by listing QA on ["1"] only.) No os field — Linux-only, as before.

Metadata

Root Project.toml already has [compat] julia = "1.10" (LTS floor) and a [compat] entry for every [extras] dependency, so no pre-emptive metadata fixes were required.

QA note

This package's QA group already existed and runs via ReTestItems tags (:qa, currently ExplicitImports) inside the main test environment — not a separate test/qa/ subproject. The conversion preserves that architecture. QA continues to run on Julia 1 only. Any QA findings surfaced in CI will be triaged in a follow-up.


Static verification only: TOML + YAML parse cleanly and the root-matrix script reproduces the old matrix. Tests/Aqua/JET were not run locally; they will run in CI.

Ignore until reviewed by @ChrisRackauckas.

Convert the root Tests.yml matrix test job to the canonical thin caller
(SciML/.github/.github/workflows/grouped-tests.yml@v1) and move the
group x version matrix into test/test_groups.toml at the repo root.

The matrix script (compute_affected_sublibraries.jl --root-matrix) emits
the same (group, version) set as the previous hand-maintained matrix:
  Core x {1, lts}, LineSearchesJL x {1, lts}, QA x {1}.

GROUP dispatch already exists in test/runtests.jl (ReTestItems tags), so
no group-env-name override is needed (root reads GROUP). The separate
enzyme job, on:/concurrency:, and all other workflows are left untouched.
Project.toml already has julia="1.10" and [compat] for every [extras]
dep, so no metadata fixes were required.

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:44
@ChrisRackauckas ChrisRackauckas merged commit 6879d67 into SciML:main Jun 10, 2026
12 of 13 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