Skip to content

Default version matrix -> Core [lts,1,pre], QA [lts,1]#75

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:default-version-matrix-lts
Jun 8, 2026
Merged

Default version matrix -> Core [lts,1,pre], QA [lts,1]#75
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:default-version-matrix-lts

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown

Summary

Aligns the default test version matrix — the one applied when a monorepo sublibrary has no test/test_groups.toml — with the org version convention.

scripts/compute_affected_sublibraries.jl defines DEFAULT_TEST_GROUPS, which load_test_groups falls back to when a sublibrary ships no test_groups.toml. It was still on the old form. This PR moves it to the standard sets:

group before after
Core (and any standard/default group) ["lts","1.11","1","pre"] ["lts","1","pre"]
QA ["1"] ["lts","1"]
GPU (not in default) unchanged — stays ["1"], only ever set via explicit test_groups.toml

The pinned "1.11" middle version is dropped from Core; QA now also runs on lts. Only the no-test_groups.toml default values change — the dependency-graph / reverse-dep / matrix-emission logic is untouched, and a sublibrary that ships its own test_groups.toml is unaffected.

Files changed

  • scripts/compute_affected_sublibraries.jl
    • DEFAULT_TEST_GROUPS const: Core => ["lts","1","pre"], QA => ["lts","1"].
    • Header doc comment + illustrative test_groups.toml example updated to the same convention.

Monorepo.md (§5, "default when there's no test_groups.toml") and README.md already documented this exact target default, so no doc edits were needed there — this PR brings the script in line with the docs.

Validation (static only)

  • Script parses cleanly (Meta.parseall, 38 top-level forms) — no instantiate / precompile / test run.
  • New DEFAULT_TEST_GROUPS literal verified: Core == ["lts","1","pre"], QA == ["lts","1"], no GPU key.

Ignore until reviewed by @ChrisRackauckas.

Align the no-test_groups.toml default in compute_affected_sublibraries.jl
with the org version convention: Core (and any standard/default group) on
["lts","1","pre"] and QA on ["lts","1"]. Drops the pinned "1.11" middle
version from Core and adds "lts" to QA. GPU is unaffected (it only comes
from an explicit test_groups.toml, never the default). Also updates the
in-file doc comment and the illustrative test_groups.toml example to the
same convention. Monorepo.md and README.md already documented this target
default, so no doc edits were needed there.

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 8, 2026 09:22
@ChrisRackauckas ChrisRackauckas merged commit 67eb997 into SciML:master Jun 8, 2026
1 of 2 checks passed
ChrisRackauckas added a commit that referenced this pull request Jun 8, 2026
…-test regression

Implements #76: let a monorepo root (or any single package)
declare its group x version matrix once in a root test/test_groups.toml and
run it via a new reusable grouped-tests.yml, so CI.yml is a thin caller
instead of a hand-maintained matrix.

- scripts/compute_affected_sublibraries.jl: add a --root-matrix mode that reads
  <repo>/test/test_groups.toml (no diff filter, no lib/ required) and emits
  {group, version, runner, timeout, num_threads, continue_on_error}. Adds the
  continue_on_error per-group field (maps to tests.yml continue-on-error; used
  for non-fatal groups like OrdinaryDiffEq's Downstream). Default when absent:
  a single Core group on [lts,1,pre].
- .github/workflows/grouped-tests.yml: new reusable workflow; detect job runs
  --root-matrix, test job fans out to tests.yml@v1 (project '.') per cell.
  Mirrors sublibrary-project-tests.yml's proven passthrough.
- Additive / backward compatible: existing callers and the sublibrary JSON
  output are unchanged.
- Fix #75 regression: the default-groups test still expected the old
  [lts,1.11,1,pre]/[1] matrix, so script-tests went red on master after #75;
  update the expectation and two stale [lts,1.11,1,pre] comments.
- Tests: build_root_matrix defaults/fields/continue_on_error, a faithful
  46-cell reproduction of OrdinaryDiffEq's embedded root matrix, and a
  --root-matrix CLI test. README documents the model, grouped-tests.yml, the
  continue_on_error field, and the new output mode.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ChrisRackauckas added a commit that referenced this pull request Jun 8, 2026
…atrix

feat(grouped-tests): root test_groups.toml → CI matrix (closes #76); fix #75 self-test regression
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