Skip to content

Route umbrella QA group through the qa keyword (fixes GROUP=QA dispatch)#22

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-qa-group-dispatch
Draft

Route umbrella QA group through the qa keyword (fixes GROUP=QA dispatch)#22
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-qa-group-dispatch

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Problem

The tests / QA checks on main fail with:

ERROR: LoadError: ArgumentError: run_tests: GROUP="QA" was requested but no `qa` body was provided

The root test/runtests.jl registered the QA (Aqua/JET) group via
groups = Dict("QA" => (; env, body)). But "QA" is a reserved group
name in SciMLTesting's run_tests: when GROUP="QA", the dispatcher
routes to the qa keyword body, not through the groups table. With
qa left unset, the reserved-name branch throws the ArgumentError
above.

Fix

Pass the QA group via the qa = (; env, body) keyword instead of groups.
No other behavior changes; the QA env/body are unchanged
(test/qa/Project.toml + test/qa/qa.jl).

Local verification

On Julia 1.12 (the julia 1 matrix entry), GROUP=QA Pkg.test() now runs
the umbrella Aqua+JET suite cleanly:

Test Summary: | Pass  Total     Time
QA            |   12     12  1m58.8s
     Testing OptimalUncertaintyQuantification tests passed

Runic check (runic --check) passes on the edited file.

Scope / remaining reds (not addressed here)

This PR fixes the julia 1 QA check. Other main reds have different
root causes and are out of scope for this focused PR:

  • tests / Core (julia lts) and tests / QA (julia lts) fail earlier, at
    julia-buildpkg, with expected package CanonicalMoments ... to be registered. On Julia 1.10 the [sources] table is not auto-resolved, and
    the centralized SciML/.github tests.yml skips its "Develop in-repo
    [sources] path deps" step when project == '.' — so a monorepo root
    project with in-repo [sources] never gets its path deps developed on
    1.10. That is a SciML/.github workflow bug, tracked separately.
  • sublibraries / lib/OUQBase [QA] / lib/CanonicalMoments [QA] report real
    Aqua/JET findings (stale dep PolynomialRoots, a type-piracy on
    CanonicalMoments.RawMomentSequence, several JET errors). These are genuine
    code findings, not harness bugs.
  • Downgrade / Downgrade Sublibraries fail because the downgrade resolver
    cannot handle the unregistered in-repo [sources] UUIDs.

Please ignore until reviewed by @ChrisRackauckas.

The root `test/runtests.jl` passed the QA (Aqua/JET) group via
`groups = Dict("QA" => ...)`, but "QA" is a reserved group name in
SciMLTesting's `run_tests`: it is dispatched to the `qa` keyword, not
through `groups`. With `qa` unset, `GROUP="QA"` hit

    ArgumentError: run_tests: GROUP="QA" was requested but no `qa` body was provided

failing the `tests / QA` checks. Pass the group via `qa = (; env, body)`
so the reserved name is routed correctly.

Verified locally on Julia 1.12 (the `julia 1` matrix entry):
`GROUP=QA Pkg.test()` now runs the umbrella Aqua+JET suite to
"QA | 12 12" all-pass / "tests passed".

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor Author

Status update (CI triage 2026-06-20): the tests / QA (julia 1) check this PR targets is now GREEN on this branch. Remaining reds are out of scope (separate root causes):

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