Align MuladdMacro downgrade floors with PureKLU - #3981
Conversation
Raise the seven downgrade-tested subproject floors that can resolve PureKLU, and guard the alignment in the root QA suite. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Local validation for
The triggering hosted failures classify as 7 PureKLU conflicts fixed here, 7 recursive path-source failures covered by julia-actions/julia-downgrade-compat#56, and 1 DiffEqDevTools hosted runner/log-loss or non-reproducing failure. An isolated exact-action DiffEqDevTools replay exited 0. The initial combined six-project build reused generated state and is excluded. Every authoritative six-project result used a separate worktree, depot, temporary directory, and locked manifest. |
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Expanded the fix after the next downgrade tranche reached the same conflict. Commit Fresh validation used exact action commit
The independent Core locked command reproduced a separate action defect before package tests run: c01 promotes |
Summary
MuladdMacrofloor from0.2.1to0.2.4in all 28 affected sublibraries coupled toOrdinaryDiffEqCoreMuladdMacroprojects, checks that there are 39, and requires every floor to be at least0.2.4Why
The sublibrary downgrade workflow selects
PureKLU 1.1.1, whose registeredcompat requires
MuladdMacro >= 0.2.4. A floor of0.2.1therefore makes theminimum-version graph unsatisfiable whenever a Core-coupled project reaches
PureKLU through the local path-source graph.
The first failing jobs exposed seven projects. Once recursive local path-source
handling advanced, another tranche reached the same conflict. This PR now fixes
the invariant rather than enumerating only the first failures: 28 projects are
raised, while the other 11 members of the 39-project set were already at
0.2.4.DiffEqBaseremains at0.2.1because it is not coupled toOrdinaryDiffEqCoreand is outside this conflict.The recursive path-source work itself is tracked separately in
julia-actions/julia-downgrade-compat#56.
Local validation
c01bc81127bdcec857160a41d815f0bd9fbd2dccwas run independently for every one of the 39 projects, using a fresh detached worktree, workspace-local temporary directory, and depot per projectMuladdMacro 0.2.4PureKLU 1.1.1OrdinaryDiffEqExplicitRK: 19/19 passedOrdinaryDiffEqLowOrderRK: 70/70 passed across its four testsetsMuladdMacro 0.2.4, built successfully, compiledPureKLU 1.1.1, and reached the known inference-test baseline tracked by #3926; this is not reported as a full BDF passNo unapproved public reexportsdependency regression tracked by SciMLTesting#29--check --diff .: passedgit diff --checkand TOML audit: passed; exactly 39/39 Core-coupled floors are at least0.2.4, and no generated manifest remains in the source worktreeThe exact c01 action also exposes a separate locked-test preparation bug for
Core: it promotes
SparseArraysfrom[weakdeps]to[deps]but leaves it in[targets].test, which Julia's package manager rejects before tests execute.A fresh standalone Core run reproduced that behavior with unchanged Project and
Manifest hashes. That action bug is separate from this repository's floor
changes; the contaminated combined-worktree attempt was discarded and is not
included in any result above.
Please ignore this PR until it has been reviewed by @ChrisRackauckas.