Target ModelingToolkit optimization downstream tests#1267
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Local same-process reproduction completed on clean Optimization.jl master I loaded the root/test-compatible LinearSolve 3.87 first, then invoked ModelingToolkit's existing It then failed exactly as CI did: Final result: This confirms that the problem is package-version state leaking across ModelingToolkit's aggregate in-process groups, not an Optimization integration failure or a bad isolated LinearSolve extension. |
|
The clean, exact The groups before
All three errors are: This confirms that the failure is caused by |
|
Additional base-branch verification (2026-07-15): a clean current ModelingToolkit master checkout with current Optimization master developed and The earlier This supports restricting Optimization's MTK downstream lane to the dedicated |
|
Exact local verification for the downstream group selected by this PR has now terminated successfully:
Result: This confirms the |
Summary
Run ModelingToolkit's dedicated
Optimizationtest group from Optimization.jl's downstream workflow instead of ModelingToolkit's aggregateAllgroup.Why
The aggregate group runs ModelingToolkit's entire curated suite in one Julia process, including unrelated ControlSystems downstream coverage. In the repeated failing runs, an earlier group loaded LinearSolve 3.87, the downstream environment then resolved LinearSolve 4.3, and
LinearSolveArnoldiMethodExtfailed because the already-loaded 3.87 module did not defineArnoldiMethodJL.Optimization.jl only needs ModelingToolkit's declared
Optimizationintegration group. Selecting that group gives it its own declared test environment and avoids using Optimization.jl's downstream job as a general ModelingToolkit test job.This is a test-setup-only change. It does not add an Enzyme compatibility restriction or alter package compatibility.
Evidence
UndefVarError: ArnoldiMethodJL not defined in LinearSolveoccurred on master and in PR #1265's ModelingToolkit job.GROUP=Optimization: 156 passed, 1 pre-existing broken, 157 total;Testing ModelingToolkit tests passed(32m10.3s, exit 0).GROUP=Downstreamcontrol: 31/31 passed (28m17.9s, exit 0).actionlint .github/workflows/Downstream.ymlgit diff --check--checkover all 165 tracked Julia filesInvestigation notes
Process
I inspected both failing job logs, reproduced the standalone groups locally with the reusable-workflow command shape, traced ModelingToolkit's
run_testsgroup/environment declarations, checked relevant PR history, isolated the first extension-triggering LinearSolve commit, and validated this one-line workflow change. The requested scope was a cleaner test-setup fix that assumes upstream Enzyme support will be corrected before Julia 1.13 is released.