QA: run_qa v1.6 form + ExplicitImports#73
Merged
ChrisRackauckas merged 2 commits intoJun 27, 2026
Merged
Conversation
Replace the hand-rolled test/qa/explicit_imports_test.jl (which ran only check_no_implicit_imports + check_no_stale_explicit_imports) with a SciMLTesting run_qa v1.6 qa.jl that runs Aqua (all sub-checks) plus the full ExplicitImports suite (explicit_imports = true). All six ExplicitImports checks and all Aqua sub-checks pass (17/17). The two *_are_public checks only flagged non-public names owned by other packages (SciMLBase, ADTypes, CommonSolve, Base), so those are ignored via ei_kwargs with the source package documented per name; nothing is broken or skipped. qa env (test/qa/Project.toml): drop the now-transitive ExplicitImports (comes via SciMLTesting); keep Aqua as a direct dep so the ambiguities sub-check's child process can load it; SciMLTesting compat -> 1.6. No JET (none was run). Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… base libs)
SciMLTesting 1.7.0 runs the two public-API ExplicitImports checks
(check_all_qualified_accesses_are_public,
check_all_explicit_imports_are_public) only on Julia >= 1.11, and the
released base libs (SciMLBase 3.24.0, CommonSolve 0.2.9, ADTypes 1.22.x)
now declare the previously-internal names public. Both per-repo
public-API ignore-lists are therefore redundant and emptied; the qa.jl
call collapses to the bare run_qa(LineSearch; explicit_imports = true).
Verified against registered releases:
* Julia 1.12 (public checks run): QA 17/17 pass with empty ignore
lists; isolated check_all_qualified_accesses_are_public and
check_all_explicit_imports_are_public both return nothing.
* Julia 1.10 LTS (public checks skipped): QA 15/15 pass, 0 fail.
No names needed restoring -- every formerly-ignored name (SciMLBase
Failure/Success/T/NLStats/has_jac/has_jvp/has_vjp/AbstractNonlinearProblem,
ADTypes ForwardMode/mode, CommonSolve init/solve!, Base get_extension)
is now public.
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.
Brings this repo's QA group onto the SciMLTesting
run_qav1.6 form with ExplicitImports enabled.What changed
test/qa/explicit_imports_test.jl(which ran onlycheck_no_implicit_imports+check_no_stale_explicit_imports) withtest/qa/qa.jlcallingrun_qa(LineSearch; explicit_imports = true, ...). This now runs Aqua (all sub-checks) plus the full 6-check ExplicitImports suite instead of just two EI checks.test/qa/Project.toml: droppedExplicitImports(now transitive via SciMLTesting), keptAquaas a direct dep so thetest_ambiguitieschild process can load it, bumpedSciMLTestingcompat to1.6. No JET (none was run before).ExplicitImports findings
All six EI checks and all Aqua sub-checks pass green (17/17, 0 fail / 0 error / 0 broken). No findings required FIX or BROKEN:
no_implicit_imports,no_stale_explicit_imports,all_explicit_imports_via_owners,all_qualified_accesses_via_owners: pass clean.all_qualified_accesses_are_public/all_explicit_imports_are_public: the only flags were non-public names owned by other packages, ignored viaei_kwargswith the source package documented per name:AbstractNonlinearProblem,NLStats,has_jac,has_jvp,has_vjp,ReturnCode.{Failure,Success,T}ForwardMode,modeinit,solve!get_extensionThese go public as those base libraries declare them
public; the ignore can be trimmed then. Nothing in LineSearch itself is non-public-flagged, nothing skipped/silenced/broken.Verification (local, Julia 1.10.11 = LTS, released SciMLTesting 1.6.0)
GROUP=QA julia --project=. -e 'using Pkg; Pkg.test()'(fullrun_tests()folder-discovery path):Pkg resolves SciMLTesting 1.6.0 / ExplicitImports 1.15.0 / Aqua 0.8.16 from the registry (no dev-from-branch).
🤖 Generated with Claude Code