QA: run_qa v1.6 form + ExplicitImports#150
Draft
ChrisRackauckas-Claude wants to merge 1 commit into
Draft
Conversation
Convert test/qa/qa.jl from the hand-rolled Aqua/JET body to SciMLTesting 1.6's run_qa, and enable the ExplicitImports checks. - run_qa(Evolutionary; explicit_imports = true, ...): Aqua + ExplicitImports run via SciMLTesting's own deps; the QA env drops Aqua/JET/SafeTestsets (transitive) and bumps the SciMLTesting compat floor to 1.6. - Preserve the tracked-broken Aqua sub-checks (ambiguities/unbound_args/piracies) via aqua_broken, keeping the issue SciML#145 reference. - ExplicitImports: make the implicit LinearAlgebra/Statistics/StackViews names explicit in src/Evolutionary.jl (only the genuinely-used names; rank/tr/var are shadowed by local bindings and were not imported). Ignore the three other-package non-public explicit imports (Random.default_rng, NLSolversBase.nconstraints[_x]). - JET: the report findings only surface on Julia >= 1.12 (the QA `1` lane) while the LTS lane is clean, so jet_broken = true would Unexpected-Pass on LTS and a hard check would fail 1.12; keep it as a static tracked-broken placeholder (SciML#145). Verified locally against released SciMLTesting 1.6.0 on both lanes: QA group 14 pass / 4 broken / 0 fail / 0 error on Julia 1.10 (lts) and 1.12 (`1`). 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.
Ignore until reviewed by @ChrisRackauckas.
Brings Evolutionary.jl's QA onto the SciMLTesting 1.6
run_qaform with ExplicitImports enabled. Verified locally against the released SciMLTesting 1.6.0 (Pkg resolves it; no dev-from-branch).What changed
test/qa/qa.jl: hand-rolledAqua.test_all+ JET body →run_qa(Evolutionary; explicit_imports = true, ...).test/qa/Project.toml: dropAqua/JET/SafeTestsets(now transitive via SciMLTesting); bumpSciMLTestingcompat floor to1.6.src/Evolutionary.jl: make the implicitLinearAlgebra/Statistics/StackViewsimports explicit (theno_implicit_importsfix).ExplicitImports findings (6 checks)
using LinearAlgebra, Statistics+using StackViewstousing LinearAlgebra: Diagonal, Symmetric, diag, diagm, eigen!, norm,using Statistics: mean,using StackViews: StackView. The namesrank/tr/varthat EI also reported are shadowed by local bindings (a nestedfunction rank, atrfunction parameter, avartuple-unpack local), not genuine uses ofLinearAlgebra.rank/tr/Statistics.var, so they are intentionally not imported. Core functional suite re-run green to confirm no runtime breakage.ei_kwargs(they go public as the base libs declare them):default_rng(Random, stdlib non-public)nconstraints,nconstraints_x(NLSolversBase non-public)Preserved tracked-broken findings (issue #145)
ambiguities(18),unbound_args(3),piracies(7) →aqua_broken(tracked, QA: Aqua/JET findings marked @test_broken pending fix #145).@test_brokenplaceholder rather thanjet_broken = true. The JET report findings (+(::Nothing,::Int),kwcallonSPX/deprecated aliases,Evolutionary.expr) surface only on Julia >= 1.12 (the QA1lane); the LTS lane (1.10/1.11) is clean.jet_broken = truewould auto-flag an Unexpected-Pass Error on the clean LTS lane, and a hard JET check would fail the1lane — so a static tracked placeholder is the only form correct across the["lts", "1"]matrix. Tracked in QA: Aqua/JET findings marked @test_broken pending fix #145.Local verification (released SciMLTesting 1.6.0)
QA group via
GROUP=QA Pkg.test, both lanes:1)Aqua enabled sub-checks (8 pass): undefined exports, project-extras, stale deps, compat bounds (4), persistent tasks. ExplicitImports: 6 pass. The 4 broken = 3 Aqua placeholders + 1 JET placeholder.
🤖 Generated with Claude Code