Skip to content

QA: restore JET execution + remove broken duplicate QA.yml#143

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:fix-qa-jet
Jun 14, 2026
Merged

QA: restore JET execution + remove broken duplicate QA.yml#143
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:fix-qa-jet

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Summary

CI centralization (#141) wired a new [QA] test group but left two regressions on master:

  1. Broken duplicate workflow. The standalone .github/workflows/QA.yml was not removed by Canonical CI: grouped-tests.yml + root test/test_groups.toml #141. It still runs julia --project=test/qa test/qa/runtests.jl, but Canonical CI: grouped-tests.yml + root test/test_groups.toml #141 deleted test/qa/runtests.jl. So the QA - Julia lts / QA - Julia 1 jobs are red on master, and they duplicate the new [QA] group (which runs via the grouped-tests.yml@v1 caller in Tests.yml, dispatched from test/test_groups.toml).

  2. A passing enforced check was silently dropped. The old QA.yml enforced a real JET analysis — JET.report_package(MultiScaleArrays; target_modules=(MultiScaleArrays,)) with @test length(reports)==0 — and it passed on master. The new test/qa/qa.jl ran no JET at all, only @test_broken false.

Fix

  • Delete .github/workflows/QA.yml — the [QA] group supersedes it; this removes the broken, duplicate jobs.
  • Restore the real JET check in test/qa/qa.jl, enforced with @test (not skipped). The Aqua @test_broken markers (ambiguities + deps_compat, issue QA: Aqua/JET findings marked @test_broken pending fix #142) are left unchanged — they are a separate, still-open concern and out of scope here.

Local verification (julia +1.11, GROUP=QA)

The test/qa env resolves the same stack the old standalone env did (DiffEqBase 7.5.5, JET 0.9.20). The restored check reports 0 findings under target_modules=(MultiScaleArrays,):

Test Summary: | Pass  Total   Time
JET           |    1      1   34.5s

Full QA group via Pkg.test() with GROUP=QA (exit 0):

Test Summary:     | Pass  Broken  Total     Time
Quality Assurance |    7       2      9   1m25.3s
     Testing MultiScaleArrays tests passed

The 2 Broken are the pre-existing Aqua markers from #142; 0 Fail / 0 Error.

Note on the #142 JET finding

The DiffEqBase.alg_needs_extra_process finding listed in #142 comes from the stricter JET.test_package(target_defined_modules=true), not from the check that was actually dropped. With target_modules=(MultiScaleArrays,), JET attributes that undefined-binding to the DiffEqBase virtual-toplevel frame and the module filter drops it (confirmed locally: report_package without target_modules does surface it, 3 reports; with the filter, 0). This PR restores the historical enforced check verbatim — it is not a test-logic change. The src/diffeq.jl:427 source bug (using DiffEqBase. instead of StochasticDiffEq.) is real and still tracked in #142 for a source-level fix.

Ignore until reviewed by @ChrisRackauckas.

🤖 Generated with Claude Code

CI centralization (SciML#141) wired a new [QA] test group but left two regressions:

1. The standalone .github/workflows/QA.yml was not removed. It still runs
   `julia --project=test/qa test/qa/runtests.jl`, but SciML#141 deleted
   test/qa/runtests.jl — so the QA.yml jobs ("QA - Julia lts" / "QA - Julia 1")
   are red on master, and they duplicate the new [QA] group (run via the
   grouped-tests.yml caller from test/test_groups.toml). Delete QA.yml; the
   [QA] group supersedes it.

2. The old QA.yml enforced a real JET analysis
   (JET.report_package(MultiScaleArrays; target_modules=(MultiScaleArrays,))
   with @test length(reports)==0) and it PASSED on master. The new
   test/qa/qa.jl ran NO JET — only `@test_broken false`. A passing enforced
   check was silently dropped. Restore the exact old JET check and enforce it.

Verified locally (julia +1.11, GROUP=QA): with the qa env resolving the same
stack the old standalone env did (DiffEqBase 7.5.5, JET 0.9.20), the restored
check reports 0 findings under target_modules=(MultiScaleArrays,) and passes
(JET testset: 1 Pass). The full QA group is green: 7 Pass / 2 Broken / 0 Fail
(the 2 Broken are the pre-existing Aqua ambiguities/deps_compat markers from
issue SciML#142, unchanged here).

Note: the DiffEqBase.alg_needs_extra_process finding listed in SciML#142 comes from
the stricter JET.test_package(target_defined_modules=true), not from the check
that was actually dropped — target_modules=(MultiScaleArrays,) attributes that
undefined-binding to the DiffEqBase frame and filters it out. This restores the
historical enforced check; it is not a test-logic change.

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 14, 2026 09:37
@ChrisRackauckas ChrisRackauckas merged commit fbce3af into SciML:master Jun 14, 2026
11 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