Allow current LinearSolve for downstream ControlSystemsMTK tests - #4742
Conversation
|
https://github.com/SciML/ModelingToolkit.jl/actions/runs/29237200273/job/86774923389?pr=4742#step:12:1390 maybe a tolerance tweak is necessary. |
|
Addressed the tolerance feedback in commit 69e3e98. The Julia 1.13.0-rc1 ModelingToolkitBase job produced an absolute error of 1.001607e-6, only 1.607e-9 beyond the existing 1e-6 assertion threshold. The same CI-equivalent command and dependency versions passed locally, and the root nightly job also passed, which points to platform-level numerical variation at the requested 1e-6 solver tolerance. Change:
Local verification on Julia 1.13.0-rc1 with GROUP=Initialization and the CI test options:
Runic 1.7.0 --check . also passed. |
69e3e98 to
47f46d7
Compare
|
Rebased the PR onto current upstream master (fd8305b) after the intervening initialization and CI fixes merged. Rewritten PR commits: Both commits retain the required co-author trailer. After the rebase I reran the Julia 1.13.0-rc1 CI-equivalent Initialization group:
Runic 1.7.0 --check . also passed. The branch update used an explicit SHA lease after confirming the remote had no additional commits. |
|
The red |
|
CI audit update for the red Benchmarks (lts) check:
This is a workflow-permission failure after successful benchmark execution, not a benchmark regression. Failing job: https://github.com/SciML/ModelingToolkit.jl/actions/runs/29249396441/job/86813968486 |
|
CI audit update for the red ModelingToolkitStandardLibrary/Core downstream check: This is an exact clean-master failure, independent of #4742. PR job The recently merged ModelingToolkitStandardLibrary #483 fixed this owner import in that repository own PR job: https://github.com/SciML/ModelingToolkit.jl/actions/runs/29249396526/job/86813978519 |
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
The red QA / Julia 1 / Ubuntu check is a self-hosted runner/reporting failure, not a reported test assertion. Job metadata marks the job completed/failure at 13:25:16 UTC, but its |
|
CI audit update for the red ModelingToolkitBase QA check: this is also exact clean master. PR job None of these methods or QA settings is changed by #4742. This cluster requires its own reproduce/bisect/fix audit; I will not silence Aqua or add broad ignores. PR job: https://github.com/SciML/ModelingToolkit.jl/actions/runs/29249397225/job/86820621953 ; clean-master job: https://github.com/SciML/ModelingToolkit.jl/actions/runs/29244935232/job/86820576774 |
|
Existing clean-main audit linkage for the ModelingToolkitBase QA cluster: issue #4670 already contains the exact local reproduction, commit boundaries, and ownership analysis for all three remaining Aqua classes. Focused draft #4738 fixes the five unbound-method reports without ignores and passes |
47f46d7 to
8e6fc7f
Compare
|
Rebased the PR again onto current Post-rebase local validation used the direct sublibrary pre-release CI command on Julia 1.13.0-rc1: Runic 1.7.0 also passed across all 219 tracked Julia files. Before this final rebase, all six root/direct ModelingToolkitBase Initialization CI variants were green across Julia LTS, stable, and pre-release; the new push has started a fresh CI run. |
|
Fresh rebased CI classification: Downgrade/InterfaceI fails on the independently reproduced clean-main Symbolics API floor ( |
|
Fresh-run follow-up, all remaining completed reds match existing audits:
Together with the separately linked Symbolics downgrade floor, these remain independent of #4742. |
|
Fresh CI verification after the final rebase:
This includes the root Julia pre job that originally failed by 1.607e-9 beyond the old 1e-6 threshold. The remaining red checks are independent base/workflow issues: the downgrade codegen regression and ModelingToolkitStandardLibrary fixture failures reproduce on clean base branches and are being handled separately; the benchmark computation completed, but its fork-token PR comment POST was rejected with HTTP 403. |
|
The fresh |
This PR should be ignored until reviewed by @ChrisRackauckas.
Summary
1e-6to2e-6, with the numerical reason documented beside the test.The compat change fixes a downstream precompile failure seen from Optimization's ModelingToolkit downstream job. The shared downstream workflow develops the upstream PR package into ModelingToolkit's test environment; the MTK test stack then loads
ControlSystemsMTK. With the old LinearSolve 3-only compat, the downstream test environment resolvedLinearSolve v3.87.0and failed while precompilingLinearSolveArnoldiMethodExt:Resolving the downstream environment with the broadened compat picks
LinearSolve v4.3.0fortest/downstream, andControlSystemsMTKprecompiles successfully.The Julia 1.13.0-rc1 ModelingToolkitBase job on the broadened stack measured an absolute initialization error of
1.001607e-6, only1.607e-9beyond the old assertion while the solve itself requestsabstol = reltol = 1e-6. The identical CI-equivalent command and dependency versions passed locally, as did the root nightly job. The assertion now uses a still-tight2e-6absolute bound; no solver tolerance or failure mode is disabled.Validation
Downstream reproduction:
rm -f Manifest.toml test/Manifest.toml test/downstream/Manifest.toml lib/ModelingToolkitBase/Manifest.toml GROUP=Downstream timeout 3600 julia +1.12 --startup-file=no --project=. -e 'using Pkg; Pkg.develop(PackageSpec(path="../Optimization.jl")); Pkg.update(); Pkg.status(["LinearSolve", "Optimization", "ModelingToolkit", "ControlSystemsMTK"]); Pkg.test(; coverage=false)'Observed:
Julia 1.13.0-rc1 CI-equivalent
GROUP=Initializationafter the final rebase:Repository-wide Runic 1.7.0
--check .andgit diff --checkboth passed.The current red InterfaceI downgrade check is an exact clean-
masterSymbolicUtils floor mismatch tracked separately in the PR comments; it fails during dependency resolution before exercising this branch.