Skip to content

QA: run_qa v1.6 form + ExplicitImports#182

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run-qa-v16-explicit-imports
Jun 27, 2026
Merged

QA: run_qa v1.6 form + ExplicitImports#182
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run-qa-v16-explicit-imports

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Converts test/qa/qa.jl from the hand-rolled Aqua + ExplicitImports body to the SciMLTesting 1.6 run_qa form and enables the full ExplicitImports suite (explicit_imports = true).

qa.jl

  • Single run_qa(Static; ...) call. Aqua.test_all replaces the eight per-sub-check calls (find_persistent_tasks_deps, test_ambiguities, test_deps_compat, test_piracies, test_project_extras, test_stale_deps, test_unbound_args, test_undefined_exports — all covered by test_all).
  • Aqua.test_ambiguities(..., recursive = false) preserved via aqua_kwargs = (; ambiguities = (; recursive = false)).
  • Aqua.test_piracies(..., broken = true) mapped to aqua_broken = (:piracies,) (disables the sub-check in test_all + emits a tracked @test_broken placeholder).

ExplicitImports findings (now all six checks run)

Previously only no_implicit_imports + no_stale_explicit_imports ran. Enabling all six:

  • Pass bare (4): no_implicit_imports, no_stale_explicit_imports, all_explicit_imports_via_owners, all_qualified_accesses_via_owners.
  • Ignored (2), other-package not-yet-public names:
    • all_qualified_accesses_are_public: 22 Base / Base.Broadcast / Base.IteratorsMD internals (@propagate_inbounds, tail, OneTo, axistype, to_index, ...). Ignore until Base declares them public.
    • all_explicit_imports_are_public: IfElse.ifelse (exported-but-not-public by IfElse.jl, whose sole purpose is that name).
  • Broken (0), fixed (0). No EI check is left failing or @test_broken.

Aqua broken

Deps (test/qa/Project.toml)

  • Drop ExplicitImports and SafeTestsets (both transitive via SciMLTesting).
  • Keep Aqua direct (the ambiguities child-process needs it as a direct dep).
  • SciMLTesting compat -> "1.6". No JET (it was not run before).

Verification

Run locally against released SciMLTesting 1.6.0 (Pkg resolves 1.6.0; develop-by-path so master's #180 axistype fix is in scope), Julia 1.10 and 1.12:

Test Summary:     | Pass  Broken  Total   Time
Quality Assurance |   16       1     17

ExplicitImports nested set: 6/6 pass. 0 Fail / 0 Error; the single Broken is the tracked aqua: piracies placeholder.

🤖 Generated with Claude Code

Convert the hand-rolled Aqua/ExplicitImports body in test/qa/qa.jl to the
SciMLTesting 1.6 run_qa form and turn on the full ExplicitImports suite.

- qa.jl: single run_qa(Static; ...) call. Aqua.test_all replaces the
  per-sub-check calls; ambiguities recursive=false preserved via aqua_kwargs;
  the test_piracies(broken=true) finding becomes aqua_broken=(:piracies,)
  (Base.promote_shape overload on Tuple{Vararg{Union{Int,StaticInt}}}, tracked
  in SciML#181 — the prior piracy issue SciML#162 was a different, now-resolved method).
- explicit_imports=true enables all six EI checks (was two). Four pass bare;
  all_qualified_accesses_are_public ignores 22 Base/Base.Broadcast/
  Base.IteratorsMD internals, all_explicit_imports_are_public ignores
  IfElse.ifelse — other packages' not-yet-public names, documented per ignore.
- test/qa/Project.toml: drop ExplicitImports + SafeTestsets (both transitive
  via SciMLTesting); keep Aqua direct (ambiguities child-proc needs it);
  SciMLTesting compat -> "1.6".

Verified locally against released SciMLTesting 1.6.0 (Julia 1.10 and 1.12),
develop-by-path so the master axistype fix (SciML#180) is in scope: 16 Pass,
1 Broken (piracies), 0 Fail, 0 Error; ExplicitImports 6/6 pass.

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 27, 2026 13:08
@ChrisRackauckas ChrisRackauckas merged commit 479072b into SciML:master Jun 27, 2026
20 of 25 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