QA: run_qa v1.6 form + ExplicitImports#118
Merged
ChrisRackauckas merged 1 commit intoJun 27, 2026
Merged
Conversation
Collapse the hand-rolled test/qa/{qa,explicit_imports,jet}.jl into a single
qa.jl driven by SciMLTesting 1.6.0's `run_qa(EllipsisNotation; explicit_imports
= true, ...)`. This runs Aqua.test_all (incl. the ambiguities child-process and
persistent_tasks checks), JET.test_package, and all six ExplicitImports checks
in one harness call.
ExplicitImports findings (released SciMLTesting 1.6.0, both lts/1.10 and 1/1.11
QA lanes):
- 5 of 6 checks pass clean.
- all_explicit_imports_are_public fails on Julia 1.10 only, because `Base.tail`
(imported via `import Base: to_indices, tail` for the to_indices/_ndims_index
machinery) is a Base internal on 1.10 and only declared public on 1.11+.
Resolved by ei_kwargs ignore = (:tail,) on that check (documented inline).
No @test_broken needed: it is a genuine pass once the name is ignored, and the
ignore is benign on 1.11 where `tail` is already public.
JET: report_package(target_modules=(EllipsisNotation,), mode=:typo) yields 0
reports, so run_qa's default hard JET.test_package path passes; no jet_broken.
The JET @test_opt/@test_call type-stability assertions from the old jet.jl are
preserved as a separate testset so no coverage is lost.
test/qa/Project.toml: SciMLTesting compat -> "1.6"; drop ExplicitImports and
SafeTestsets (both transitive via SciMLTesting); keep Aqua (the test_ambiguities
child-process needs Aqua a direct dep) and JET (JET runs).
Verified locally via `GROUP=QA julia --project=. Pkg.test` against released
SciMLTesting 1.6.0: 31/31 pass, 0 fail/error, on both Julia 1.10 and 1.11.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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. Draft.
Brings this repo's QA group onto SciMLTesting 1.6.0's
run_qav1.6 form with ExplicitImports enabled. Collapses the hand-rolledtest/qa/{qa,explicit_imports,jet}.jlinto a singleqa.jl:This runs
Aqua.test_all(incl. theambiguitieschild-process andpersistent_taskschecks — both new vs the old per-check list),JET.test_package, and all six ExplicitImports checks in one harness call. The JET@test_opt/@test_calltype-stability assertions from the oldjet.jlare preserved as a separate testset, so no coverage is lost.ExplicitImports findings (released SciMLTesting 1.6.0)
Ran the six EI checks on both QA lanes (lts/1.10 and 1/1.11):
no_implicit_imports,no_stale_explicit_imports,all_explicit_imports_via_owners,all_qualified_accesses_via_owners,all_qualified_accesses_are_public— pass clean.all_explicit_imports_are_public— fails on Julia 1.10 only:Base.tail(imported viaimport Base: to_indices, tailfor theto_indices/_ndims_indexmachinery) is aBaseinternal on 1.10 and is declared public only on 1.11+. Resolved withei_kwargsall_explicit_imports_are_public = (; ignore = (:tail,))(documented inline). No@test_broken: it is a genuine pass once ignored, and the ignore is benign on 1.11 wheretailis already public.No
aqua_broken/jet_broken/ei_broken: every check passes hard.report_package(target_modules=(EllipsisNotation,), mode=:typo)yields 0 reports, so the default hard JET path passes.Deps (
test/qa/Project.toml)SciMLTestingcompat →"1.6".ExplicitImportsandSafeTestsets(both transitive via SciMLTesting).Aqua(thetest_ambiguitieschild-process needs Aqua a direct dep) andJET(JET runs).Verification
Local
GROUP=QA julia --project=. Pkg.testagainst released SciMLTesting 1.6.0:QA/qa.jl | 31 31(Pass/Total), 0 fail/error.QA/qa.jl | 31 31(Pass/Total), 0 fail/error.🤖 Generated with Claude Code