Skip to content

grouped-tests: QA group defaults to Julia v1 only#104

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:qa-default-v1
Jun 24, 2026
Merged

grouped-tests: QA group defaults to Julia v1 only#104
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:qa-default-v1

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown

What

Make the QA test group run on Julia 1 only by default, centrally in scripts/compute_affected_sublibraries.jl (the matrix generator behind grouped-tests.yml@v1). Clamps QA to ["1"] in the root-matrix and sublibrary matrix paths, and sets the no-test_groups.toml default QA => ["1"].

Why

QA = Aqua / JET / ExplicitImports, which is essentially version-agnostic, so running it once per declared version (["lts","1"] in nearly every test_groups.toml) just doubles the QA job count with no added signal. For a 56-sublibrary monorepo like OrdinaryDiffEq that's ~50 redundant QA jobs. The lts half is also exactly where the <1.11 [sources]-backport QA failures bite (NeuralLyapunov, OUQ, …), so dropping QA-on-lts removes that whole class of false reds.

Per-repo [QA] versions = [...] is now intentionally overridden to ["1"] (documented in the script header), so no 100s-file test_groups.toml sweep is needed — a future tidy-up can drop the now-moot [QA] versions lines.

Verification (local)

A fixture with [QA] versions = ["lts","1"]:

  • --root-matrix → QA emits version 1 only; Core still lts/1/pre; GPU still 1.
  • --projects-matrix (lib sublibrary) → QA emits 1 only.
    Runic --check clean.

Takes effect for consumers once v1 is retagged.

Ignore until reviewed by @ChrisRackauckas.

QA (Aqua/JET/ExplicitImports) is version-agnostic, so running it once per
declared version just multiplies the job count with no added signal — and the
lts half is exactly where the <1.11 [sources]-backport QA failures bite. Clamp
the QA group to ["1"] centrally in the matrix generator (root-matrix +
sublibrary modes) so every grouped-tests@v1 consumer gets it without trimming
[QA] versions in each test_groups.toml. For a 56-sublib monorepo like
OrdinaryDiffEq this drops ~50 redundant QA jobs.

Verified locally: a fixture with [QA] versions=["lts","1"] now emits QA only
on version 1 in both --root-matrix and --projects-matrix, while Core
(["lts","1","pre"]) and GPU are unchanged.

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 24, 2026 12:16
QA now defaults to Julia v1 only (clamped centrally in the matrix generator),
so the .github test suite's expected matrices drop the (QA, lts) cells:
projects-matrix default groups, the build_root_matrix excludes test, and the
OrdinaryDiffEq-reproduction test (now 45 cells, not 46).

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas merged commit 44853c0 into SciML:master Jun 24, 2026
2 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