QA: run_qa v1.6 form + ExplicitImports - #39
Merged
ChrisRackauckas merged 1 commit intoJun 25, 2026
Merged
Conversation
Convert the hand-rolled Aqua/JET QA group onto SciMLTesting 1.6's `run_qa`, enabling the six ExplicitImports checks. - Replace the manual `Aqua.test_*` sub-check block and the `JET.report_package` testset with a single `run_qa(SurrogatesBase; explicit_imports = true)`. This runs `Aqua.test_all`, `JET.test_package` (with `target_modules = (pkg,)`, which removes the need for the old `ignored_modules` workaround on the package-level analysis) and all six ExplicitImports checks. All pass: the module has zero imports, so the EI checks are clean (no ei_kwargs / ei_broken needed), and Aqua/JET have no broken sub-checks. - Preserve the bespoke `JET.report_call` type-stability testsets that analyse concrete user-defined surrogate subtypes; this is value-add beyond `run_qa`'s package-level JET. These genuinely still need the `ignored_modules = (LinearAlgebra, Base)` config to filter the `norm_recursive_check` stdlib false positives on Julia 1.12+ (verified locally: removing it produces 2 spurious reports on 1.12). - Bump SciMLTesting compat floor to "1.6" (root + test/qa). Aqua stays a direct QA dep because `test_all`'s ambiguities child process needs it. Verified locally vs released SciMLTesting 1.6.0: lts (1.10, JET 0.9.18): Quality Assurance 18/18, report_call 4/4 1 (1.12, JET 0.11.5): Quality Assurance 18/18, report_call 4/4 0 FAIL / 0 ERROR / 0 BROKEN. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ChrisRackauckas
marked this pull request as ready for review
June 25, 2026 16:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Please ignore until reviewed by @ChrisRackauckas.
Brings this repo's QA group onto SciMLTesting 1.6's
run_qaform with ExplicitImports enabled.Changes
test/qa/qa.jl: replace the hand-rolledAqua.test_*sub-check block and theJET.report_packagetestset with a singlerun_qa(SurrogatesBase; explicit_imports = true). This runsAqua.test_all,JET.test_package(withtarget_modules = (pkg,)), and the six ExplicitImports checks.JET.report_calltype-stability testsets (concrete user-defined surrogate subtypes) — value-add beyond run_qa's package-level JET. These still needignored_modules = (LinearAlgebra, Base)to filter thenorm_recursive_checkstdlib false-positives on Julia 1.12+.1.6(root +test/qa).ExplicitImports findings
SurrogatesBaseis a pure interface module (abstract types +function … endstubs) with zero imports. All six EI checks pass clean:No
ei_kwargs, noei_broken, noaqua_broken, nojet_brokenneeded.Notes
JET.report_packageusedignored_modulesbecause it had notarget_modulesrestriction;run_qa'starget_modules = (pkg,)makes that unnecessary for the package-level analysis (verified passing on 1.10 and 1.12 with the default).Aqua.test_all's ambiguities child process requires it.Local verification (vs released SciMLTesting 1.6.0)
0 FAIL / 0 ERROR / 0 BROKEN.
🤖 Generated with Claude Code