Commit f964ecd
QA: run_qa v1.6 form + ExplicitImports (#96)
* QA: run_qa v1.6 form + ExplicitImports
Convert the hand-rolled test/qa/qa.jl to the SciMLTesting 1.6 run_qa
form and enable the ExplicitImports check group.
- qa.jl: replace the manual Aqua/JET testset (which carried two
@test_broken placeholders) with run_qa(FiniteVolumeMethod1D;
explicit_imports = true, ...).
- The Aqua deps_compat finding (#84) is fixed at the source rather than
marked broken: add SparseArrays = "1" to the root [compat]. Aqua
test_all (incl. deps_compat) now passes.
- The JET finding (#84) does not reproduce under run_qa's canonical
config (mode = :typo, target_modules = (FiniteVolumeMethod1D,)); the
original 4 reports were artifacts of target_defined_modules = true.
JET.test_package now runs and passes, so no jet_broken is needed.
- ExplicitImports: all six checks run. Four pass clean; two non-public
names from other packages are ignored until they go public:
all_qualified_accesses_are_public ignores AutoSpecialize (SciMLBase)
and init (CommonSolve); all_explicit_imports_are_public ignores solve
(CommonSolve, re-exported). All ignores are other-package non-public
names, documented inline with their source package.
- Drop ExplicitImports from the root [extras]/[targets].test and the
test/ env, and remove the legacy test/explicit_imports.jl (its two
checks are subsumed by the QA group's six). ExplicitImports is now a
transitive dep via SciMLTesting.
- test/qa/Project.toml: bump SciMLTesting compat to "1.6"; keep
SafeTestsets (the folder-model @safetestset wrapper needs it as a
direct dep of the group env) and Aqua/JET.
Verified locally on Julia 1.10 against released SciMLTesting 1.6.0 via
GROUP=QA runtests.jl: QA/qa.jl 18/18 pass, 0 fail/error/broken.
Closes #84.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* QA: drop now-public EI ignores (SciMLTesting 1.7 + base-lib public APIs)
SciMLTesting 1.7.0 runs the two public-API ExplicitImports checks
(check_all_qualified_accesses_are_public and
check_all_explicit_imports_are_public) only on Julia >= 1.11 and skips
them on the lts. Combined with the base-lib public-API releases
(SciMLBase 3.24.0, CommonSolve 0.2.9), the per-repo public-API ignore
entries this PR carried are now redundant.
Empty both public-API ignore-lists in test/qa/qa.jl: the previously
ignored AutoSpecialize (SciMLBase), init (CommonSolve), and solve
(CommonSolve) are all recognized as public on the registered releases,
so run_qa(...; explicit_imports = true) passes with no ei_kwargs at all.
Verified against registered releases (no dev of base libs; FVM dev'd
from this working tree):
- Julia 1.12 (public-API checks RUN): QA group 18/18 pass, 0 fail/
error/broken; resolved SciMLTesting 1.7.0, SciMLBase 3.24.0,
CommonSolve 0.2.9, ExplicitImports 1.15.0.
- Julia 1.10 lts (public-API checks skipped by SciMLTesting 1.7):
QA group 16/16 pass, 0 fail/error/broken.
No names needed restoring; the ignore-lists are now empty.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* QA: pin SciMLTesting compat floor to 1.7 (public-API EI gate)
The two public-API ExplicitImports checks
(check_all_qualified_accesses_are_public,
check_all_explicit_imports_are_public) are gated to Julia >= 1.11 only
from SciMLTesting 1.7.0. With the now-empty public-API ignore-lists in
qa.jl, the QA group relies on that gate so the LTS (1.10) does not
spuriously flag public-backported names. Raise the qa-env compat floor
from "1.6" to "1.7" so the resolved SciMLTesting always carries the gate.
Verified against registered releases (FVM dev'd via [sources], no dev of
base libs):
- Julia 1.12 (public-API checks RUN, no ignores): QA group 18/18 pass,
0 fail/error/broken. Resolved SciMLBase 3.27.0, SciMLTesting 1.7.0,
CommonSolve 0.2.9, ExplicitImports 1.15.0, JET 0.11.5, Aqua 0.8.16.
- Julia 1.10 lts (public-API checks skipped by the 1.7 gate): QA group
16/16 pass, 0 fail/error/broken (the 2-test delta is exactly the two
gated public-API checks).
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 7b318c6 commit f964ecd
6 files changed
Lines changed: 9 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | 14 | | |
16 | 15 | | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | 21 | | |
23 | 22 | | |
24 | 23 | | |
25 | | - | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
| 1 | + | |
3 | 2 | | |
4 | | - | |
5 | 3 | | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
0 commit comments