Skip to content

QA: run_qa v1.6 form + ExplicitImports - #168

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run_qa-v1.6-explicit-imports
Jun 25, 2026
Merged

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Please ignore until reviewed by @ChrisRackauckas.

Converts the hand-rolled test/qa/qa.jl (eight individual Aqua.test_* calls) to SciMLTesting 1.6.0's run_qa, with ExplicitImports enabled (explicit_imports = true).

qa.jl

using SciMLTesting, PolyChaos, Test

run_qa(
    PolyChaos; explicit_imports = true,
    aqua_kwargs = (; ambiguities = (; recursive = false))
)
  • The eight Aqua.test_* calls collapse into Aqua.test_all via run_qa.
  • The prior test_ambiguities(PolyChaos, recursive = false) tweak is preserved via aqua_kwargs = (; ambiguities = (; recursive = false)).
  • No JET (the prior QA did not run JET).

ExplicitImports findings — all FIXED in src (0 ignore, 0 broken)

  • no_stale_explicit_imports: dropped unused LinearAlgebra imports SymTridiagonal, eigen, pinv (verified unused in src/; not exported, not method-extension placeholders). Kept I, dot, issymmetric (used).
  • no_implicit_imports: made the implicit using SpecialFunctions, SparseArrays, Distributions explicit:
    using SpecialFunctions: beta, gamma
    using SparseArrays: SparseVector, spzeros
    using Distributions: Beta, Continuous, Distribution, Gamma, Logistic, Normal,
                         Uniform, Univariate
  • all_explicit_imports_via_owners, all_qualified_accesses_via_owners, all_qualified_accesses_are_public, all_explicit_imports_are_public: already passing.

Deps

  • test/qa/Project.toml: SciMLTesting compat -> "1.6"; dropped SafeTestsets (unused by qa.jl; the harness provides @safetestset at the runtests level); Aqua kept (the ambiguities sub-check spawns a child process that needs Aqua as a direct dep). ExplicitImports not added (transitive via SciMLTesting).
  • Root Project.toml: dropped Aqua from [compat]/[extras]/[targets].test (now exclusively a QA sub-env dep since QA runs in its own folder env); bumped SciMLTesting compat to "1.6".

Verification (local, released SciMLTesting 1.6.0, Julia 1.12.5)

QA group: 17/17 Pass, 0 Fail/Error/Broken (11 Aqua sub-checks + 6 ExplicitImports checks). All six EI checks confirmed passing individually.

Note: a separate pre-existing flaky Core test (test/polynomial_chaos.jl:40, "Mean and variance of beta distribution") can intermittently miss its atol = 1e-2 Monte-Carlo tolerance. Stress-tested on both clean master and this branch (~22k sampling checks each): identical behavior, maxdiff ~0.009 right at the tolerance edge. It is unrelated to this change (the explicit-import refactor produces bit-identical function bindings) and is not touched here; it is a master-level flake driven by unseeded randomized test inputs (α = rand():2:10).

🤖 Generated with Claude Code

Convert the hand-rolled test/qa/qa.jl Aqua calls to SciMLTesting 1.6.0's
run_qa, with ExplicitImports enabled (explicit_imports = true). The eight
individual Aqua.test_* calls collapse to Aqua.test_all via run_qa; the
`recursive = false` ambiguities tweak is preserved through
aqua_kwargs = (; ambiguities = (; recursive = false)). No JET (the prior QA
did not run JET).

ExplicitImports findings (all FIXED in src, 0 ignore / 0 broken):
- no_stale_explicit_imports: dropped unused LinearAlgebra imports
  SymTridiagonal, eigen, pinv (kept I, dot, issymmetric, which are used).
- no_implicit_imports: made the `using SpecialFunctions, SparseArrays,
  Distributions` implicit imports explicit:
    using SpecialFunctions: beta, gamma
    using SparseArrays: SparseVector, spzeros
    using Distributions: Beta, Continuous, Distribution, Gamma, Logistic,
                         Normal, Uniform, Univariate
- The other four EI checks already passed.

Deps: test/qa/Project.toml SciMLTesting compat -> "1.6"; drop SafeTestsets
(not used by qa.jl; the harness provides @safetestset at the runtests level).
Aqua kept (the ambiguities sub-check spawns a child process needing Aqua as a
direct dep). Root Project.toml: drop Aqua (now exclusively a qa sub-env dep
since QA runs in its own folder env), bump SciMLTesting compat to "1.6".

Verified locally against released SciMLTesting 1.6.0 (Julia 1.12.5): QA group
17/17 Pass, 0 Fail/Error/Broken (11 Aqua sub-checks + 6 ExplicitImports
checks).

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 25, 2026 16:36
@ChrisRackauckas
ChrisRackauckas merged commit b9991c8 into SciML:master Jun 25, 2026
9 of 10 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