Commit 1af75e9
QA: run_qa v1.6 form + ExplicitImports (#165)
* QA: run_qa v1.6 form + ExplicitImports
Convert test/qa/qa.jl from the hand-rolled SafeTestsets + Aqua.test_all +
JET.test_package layout to SciMLTesting 1.6's run_qa, and turn on the
ExplicitImports checks (explicit_imports = true).
- Aqua: piracies stays disabled and tracked via aqua_broken = (:piracies,)
(was Aqua.test_all(...; piracies = false) + @test_broken false), issue #156.
- JET: still runs (jet_kwargs = (; target_defined_modules = true)).
- ExplicitImports (6 checks):
- no_stale_explicit_imports: drop unused `coeff` from the Symbolics import.
- all_qualified_accesses_via_owners / *_are_public / all_explicit_imports_are_public:
ignore upstream non-public / re-exported names (Symbolics, SymbolicUtils,
DataDrivenDiffEq, DataDrivenSparse) via per-check ei_kwargs ignore-lists.
- no_implicit_imports: many heavy-`using` names across the Symbolics/DataDriven
stacks; marked ei_broken = (:no_implicit_imports,) and tracked in issue #164
rather than a risky mass explicit-import refactor.
qa env: add SciMLTesting (compat "1.6"), drop SafeTestsets (run_qa owns the
testset); ExplicitImports comes in transitively via SciMLTesting; Aqua stays a
direct dep (its ambiguities sub-check spawns a child process).
Verified locally against released SciMLTesting 1.6.0 (Aqua 0.8.16, JET 0.9.18,
ExplicitImports 1.15.0): Quality Assurance | 16 Pass, 2 Broken, 0 Fail/Error.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* QA: trim redundant public-API EI ignores after SciMLTesting 1.7 + base-lib make-public
SciMLTesting 1.7 runs check_all_qualified_accesses_are_public and
check_all_explicit_imports_are_public only on Julia >= 1.11. With the
released Symbolics 7.29.0 / SymbolicUtils 4.36.0 now declaring several
formerly-internal names public, the per-repo public-API ignore lists are
largely redundant.
Emptied both public-API ignore lists and re-verified on Julia 1.12
(>= 1.11, where the checks run) against the registered releases, then
restored only the names still flagged as non-public:
all_qualified_accesses_are_public: AbstractDataDrivenAlgorithm
(DataDrivenDiffEq), Sym (SymbolicUtils), active_set!/coef
(DataDrivenSparse), toexpr (Symbolics)
all_explicit_imports_are_public: issym (SymbolicUtils)
Removed (now public): derivative, scalarize, unwrap, value
(all_qualified_accesses_are_public); BasicSymbolic, get_variables, value
(all_explicit_imports_are_public).
The all_qualified_accesses_via_owners ignore, aqua_broken, and ei_broken
are left untouched. Verified: Julia 1.12 QA group green for both public
checks; Julia 1.10 (lts) skips them per SciMLTesting 1.7.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* QA: require SciMLTesting >= 1.7 for gated public-API EI checks
The public-API ExplicitImports checks (all_qualified_accesses_are_public /
all_explicit_imports_are_public) are gated to Julia >= 1.11 starting in
SciMLTesting 1.7. Bump the qa env compat floor so CI resolves the gating
release rather than an older SciMLTesting that would skip those checks.
Verified against the registered make-public releases (SciMLBase 3.27.0,
SciMLTesting 1.7.0, Symbolics 7.29.0, SymbolicUtils 4.36.0):
- Julia 1.12 (public-API checks run): 16 pass, 2 broken, 0 fail. The
emptied public-API ignore lists flag exactly 6 survivors, all from
packages outside the make-public scope and kept ALLOWED:
AbstractDataDrivenAlgorithm (DataDrivenDiffEq); Sym, issym (SymbolicUtils);
active_set!, coef (DataDrivenSparse); toexpr (Symbolics).
- Julia 1.10 (public-API checks skipped via the 1.7 gate): 14 pass,
2 broken, 0 fail.
This package has no SciMLBase/DiffEqBase dependency, so no caller migration
applies; the restored ignore lists are unchanged from the prior commit.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* QA: trim now-public ExplicitImports ignores
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
* QA: thorough EI ignore re-clean (drop stale incl via_owners, migrate non-public re-exports)
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>1 parent ea2d9b4 commit 1af75e9
3 files changed
Lines changed: 36 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
2 | 4 | | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
0 commit comments