Skip to content

QA: run_qa v1.6 form + ExplicitImports#118

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run_qa-v1.6-explicitimports
Jun 27, 2026
Merged

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas. Draft.

Brings this repo's QA group onto SciMLTesting 1.6.0's run_qa v1.6 form with ExplicitImports enabled. Collapses the hand-rolled test/qa/{qa,explicit_imports,jet}.jl into a single qa.jl:

using SciMLTesting, EllipsisNotation, Test
using JET

run_qa(
    EllipsisNotation;
    explicit_imports = true,
    ei_kwargs = (;
        all_explicit_imports_are_public = (; ignore = (:tail,)),
    ),
)

This runs Aqua.test_all (incl. the ambiguities child-process and persistent_tasks checks — 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_call type-stability assertions from the old jet.jl are 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_publicpass clean.
  • all_explicit_imports_are_public — fails on Julia 1.10 only: Base.tail (imported via import Base: to_indices, tail for the to_indices/_ndims_index machinery) is a Base internal on 1.10 and is declared public only on 1.11+. Resolved with ei_kwargs all_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 where tail is 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)

  • 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).

Verification

Local GROUP=QA julia --project=. Pkg.test against released SciMLTesting 1.6.0:

  • Julia 1.10: QA/qa.jl | 31 31 (Pass/Total), 0 fail/error.
  • Julia 1.11: QA/qa.jl | 31 31 (Pass/Total), 0 fail/error.

🤖 Generated with Claude Code

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>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 27, 2026 13:05
@ChrisRackauckas ChrisRackauckas merged commit 4e7d313 into SciML:master Jun 27, 2026
16 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