Skip to content

Add QA (Aqua/JET) groups to sublibraries (SciML/.github#77)#1033

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:sublib-qa
Jun 15, 2026
Merged

Add QA (Aqua/JET) groups to sublibraries (SciML/.github#77)#1033
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:sublib-qa

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Adds the canonical QA (Aqua + JET) test group to the LinearSolve.jl sublibraries, part of SciML/.github#77.

Units in this batch:

  • lib/LinearSolveAutotune: new test/qa/ (Project.toml + qa.jl running Aqua.test_all + JET.test_package(; target_defined_modules = true)), QA dispatch in test/runtests.jl gated on LINEARSOLVE_TEST_GROUP == "QA", [QA] group declared in test/test_groups.toml with versions = ["lts", "1"], Pkg added to test extras/targets.
  • lib/LinearSolvePyAMG: same.

The QA env is an isolated sub-environment (test/qa) so Aqua/JET compat bounds do not constrain the main test resolve; in-repo path deps are Pkg.developed on Julia < 1.11 where [sources] is ignored. QA runs on lts and 1 only (never pre), ubuntu-only.

Further batches may be pushed to this branch. Ignore until reviewed by @ChrisRackauckas.

🤖 Generated with Claude Code

Gives each sublibrary a canonical QA test group (SciML/.github#77):
test/qa/Project.toml + test/qa/qa.jl running Aqua.test_all and
JET.test_package(; target_defined_modules = true) in an isolated
sub-environment, dispatched from the sublibrary runtests via
LINEARSOLVE_TEST_GROUP == "QA", declared in test/test_groups.toml as
[QA] versions = ["lts", "1"].

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 15, 2026 04:57
@ChrisRackauckas ChrisRackauckas merged commit 8df26b1 into SciML:main Jun 15, 2026
41 of 59 checks passed
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/LinearSolve.jl that referenced this pull request Jun 29, 2026
…emetry bugs)

The lib/LinearSolveAutotune QA(julia 1) lane was red on JET. The failure is
pre-existing, not introduced by the run_qa conversion: the prior qa.jl already
ran JET.test_package(LinearSolveAutotune; target_defined_modules=true), and
SciML#1033 (which first added this QA group) merged with the same lane red.

JET.report_package surfaces 8 latent issues in untouched telemetry/GPU-detection
source (parse/split union splits + try/catch variable-scope leaks in
telemetry.jl and gpu_detection.jl). Verified locally on Julia 1.12.6 that the
identical 8 reports come from the old JET.test_package call.

Mark jet_broken=true so the check runs as @test_broken (auto-flags an Unexpected
Pass once the source bugs are fixed). The real source fixes are tracked in SciML#1058.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
ChrisRackauckas added a commit that referenced this pull request Jul 3, 2026
* QA: run_qa v1.6 form + ExplicitImports (root + sublibs)

Convert all three QA environments (root LinearSolve, lib/LinearSolvePyAMG,
lib/LinearSolveAutotune) to the SciMLTesting v1.6 run_qa form with the full
ExplicitImports.jl check set enabled (explicit_imports = true).

Root (test/qa/qa.jl):
- Aqua placeholder test_ambiguities(broken=true) -> aqua_broken=(:ambiguities,);
  preserve deps_compat/stale_deps ignore=[:MKL_jll] and piracies treat_as_own.
- EI: keep the unanalyzable submodules + SciMLLogging-macro / @set! stale ignores;
  add ignore-lists for the via-owners and explicit-imports-public checks; mark
  all_qualified_accesses_are_public ei_broken (~90 non-public qualified accesses).
- jet.jl (dedicated hand-written @test_opt suite) is left untouched; JET dep kept.

Sublibraries (PyAMG, Autotune):
- Aqua.test_all + JET.test_package -> run_qa(...; explicit_imports=true,
  jet_kwargs=(; target_defined_modules=true)); curated public-API ignore-lists;
  no_implicit_imports ei_broken (heavy whole-package `using`).

Project.toml per env: SciMLTesting compat -> "1.6"; drop ExplicitImports from the
root deps (now transitive via SciMLTesting); keep Aqua + JET; [sources]/develop
wiring preserved exactly.

Tracking issue for the ei_broken markers: #1058.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* QA: mark LinearSolveAutotune JET check known-broken (pre-existing telemetry bugs)

The lib/LinearSolveAutotune QA(julia 1) lane was red on JET. The failure is
pre-existing, not introduced by the run_qa conversion: the prior qa.jl already
ran JET.test_package(LinearSolveAutotune; target_defined_modules=true), and
#1033 (which first added this QA group) merged with the same lane red.

JET.report_package surfaces 8 latent issues in untouched telemetry/GPU-detection
source (parse/split union splits + try/catch variable-scope leaks in
telemetry.jl and gpu_detection.jl). Verified locally on Julia 1.12.6 that the
identical 8 reports come from the old JET.test_package call.

Mark jet_broken=true so the check runs as @test_broken (auto-flags an Unexpected
Pass once the source bugs are fixed). The real source fixes are tracked in #1058.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>

---------

Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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