QA: run_qa v1.6 form + ExplicitImports (root + sublibs)#4671
Draft
ChrisRackauckas-Claude wants to merge 2 commits into
Draft
QA: run_qa v1.6 form + ExplicitImports (root + sublibs)#4671ChrisRackauckas-Claude wants to merge 2 commits into
ChrisRackauckas-Claude wants to merge 2 commits into
Conversation
Convert the root ModelingToolkit QA env and the ModelingToolkitBase
sublibrary QA env to the SciMLTesting 1.6 `run_qa` form with the
ExplicitImports checks enabled (`explicit_imports = true`).
Root `test/qa/qa.jl`:
* `run_qa(ModelingToolkit; jet_kwargs = (; target_defined_modules = true), ...)`,
preserving the previous JET configuration.
* ExplicitImports: the two `*_via_owners` checks pass via reexport-hub
ignore-lists; `no_implicit_imports`, `no_stale_explicit_imports`, and both
public-API checks are marked `ei_broken` (pre-existing findings).
* Pre-existing Aqua `undefined_exports`/`piracies` and the JET `report_package`
toplevel errors are marked broken.
`lib/ModelingToolkitBase/test/qa`:
* Replace `aqua.jl` (`Aqua.test_all`) with `qa.jl` (`run_qa(ModelingToolkitBase;
explicit_imports = true, ...)`); the custom JET type-stability suite `jet.jl`
is kept as-is and still runs.
* Reexport-hub ignore-lists for the `*_via_owners` checks; `no_implicit_imports`,
`no_stale_explicit_imports`, and both public-API checks marked `ei_broken`.
* Pre-existing Aqua findings (`ambiguities`, `unbound_args`, `undefined_exports`,
`stale_deps`, `deps_compat`, `piracies`) marked `aqua_broken`.
All broken-markers are tracked in SciML#4670 and auto-flag an
Unexpected Pass once each underlying finding is resolved. SciMLTesting compat
bumped to "1.6" in both QA envs; the `[sources]`/develop wiring is unchanged.
Verified locally on Julia 1.10 against released SciMLTesting 1.6.0:
* root QA: 11 pass / 7 broken / 0 fail
* ModelingToolkitBase QA: 4 pass / 10 broken / 0 fail
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ready runs it) The ModelingToolkitBase QA env loads JET (via the separate `jet.jl` type-stability suite) in the same test session. SciMLTesting's JET extension registers JET process-wide on `using JET`, so `run_qa` in `qa.jl` defaulted `jet = true` and ran a second, hard `JET.report_package(ModelingToolkitBase; mode = :typo)` on top of the bespoke suite. That report surfaces ~250 findings and fails the QA lane as a hard error -- a check that never ran under the previous `Aqua.test_all` QA. Pass `jet = false` so `run_qa` here stays Aqua + ExplicitImports only; the intended JET coverage remains in `jet.jl`. Verified locally on Julia 1.12 (released SciMLTesting 1.6.0), with JET pre-registered to mirror the CI `jet.jl`-then-`qa.jl` ordering: ModelingToolkitBase QA now 4 pass / 10 broken / 0 fail (was 1 hard fail). Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
2cebbbd to
5fa90c8
Compare
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.
Converts the ModelingToolkit monorepo's QA envs to the SciMLTesting 1.6
run_qaform with the ExplicitImports checks enabled. Both QA lanes were red before this PR
(the underlying Aqua/JET/ExplicitImports findings are tracked in #4670); this PR
brings them to green-or-broken (0 hard failures) by marking each pre-existing
finding as
@test_brokenviarun_qa'saqua_broken/jet_broken/ei_broken,so a clean lane records
Broken(notFail) and each marker auto-flags anUnexpected Passonce the underlying finding is fixed.Sublibs converted: 1 (
ModelingToolkitBase) + the root.SciCompDSLhas no QA env(only a
Coregroup), so it is unchanged. The[sources]/develop wiring ispreserved exactly; only
qa.jland the QA envs'[deps]/[compat](SciMLTesting → "1.6") were touched.
Root
ModelingToolkit(test/qa/qa.jl)run_qa(ModelingToolkit; jet_kwargs = (; target_defined_modules = true), ...).all_explicit_imports_via_owners/all_qualified_accesses_via_owners: passvia reexport-hub ignore-lists.
no_implicit_imports,no_stale_explicit_imports,all_qualified_accesses_are_public,all_explicit_imports_are_public:ei_broken(StructuralTransformationsimplicit/stale imports; hundreds of upstream non-public names; dynamic-
includeunanalyzability).
undefined_exports(Variable) +piracies(deliberate SciMLBaseconstructors on
System):aqua_broken.report_packagetoplevel-require errors:jet_broken.lib/ModelingToolkitBase(test/qa/qa.jl)Replaces
aqua.jl(Aqua.test_all) withrun_qa(ModelingToolkitBase; explicit_imports = true, ...);the custom JET type-stability suite
jet.jlis kept as-is and still runs.*_via_owners: pass via reexport-hub ignore-lists.no_implicit_imports,no_stale_explicit_imports, both public-API checks:ei_broken.ambiguities,unbound_args,undefined_exports,stale_deps,deps_compat,piracies:aqua_broken.All broken-markers are tracked in #4670.
🤖 Generated with Claude Code