ci: re-enable downgrade CI with corrected [compat] lower bounds#100
Draft
ChrisRackauckas-Claude wants to merge 2 commits into
Draft
ci: re-enable downgrade CI with corrected [compat] lower bounds#100ChrisRackauckas-Claude wants to merge 2 commits into
ChrisRackauckas-Claude wants to merge 2 commits into
Conversation
3e6ca95 to
e827a32
Compare
Re-enable the disabled Downgrade workflow and raise the too-low/inconsistent [compat] lower bounds to the lowest set that resolves and passes the test suite on Julia 1.10. The previous floors could not resolve (DiffEqBase 6.217 requires SciMLBase >=2.143 and FunctionWrappersWrappers 1, etc.) and dropped comma-ranges that re-permitted versions below the working floor. Compat: 2.2, 3.0, 4 -> 4.15 (NonlinearSolveBase needs >=4.15) DataStructures: 0.18, 0.19 -> 0.19 (0.18 too old for symbolic stack) FunctionWrappers: 1.0 -> 1.1.3 (<=1.1.1 fails to precompile) Reexport: 0.2, 1.0 -> 1.2.2 (BracketingNonlinearSolve needs 1.2.2) SciMLBase: 1.73, 2, 3.1 -> 2.154, 3.1 (FunctionWrappersWrappers 1 since 2.154) DiffEqBase, ODEInterface, SciMLLogging floors unchanged. julia compat kept at 1.6 and the workflow julia-version kept at 1.10. Downgrade suite run locally at these floors on Julia 1.10: PASS. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e827a32 to
37b950a
Compare
The reusable downgrade.yml on the @v1 tag (frozen at 251208d, pre-SciML#67) passes mode: "${{ inputs.mode }}" with an empty default, which julia-downgrade-compat rejects (mode in valid_modes || error()). Passing mode:"deps" explicitly sidesteps the empty default until @v1 is retagged to current master (where SciML#67 makes "deps" the default). Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Re-enables the disabled Downgrade workflow (removes the
if: falseguard) and replaces the previous, self-contradictory[compat]lower bounds with clean, minimal, verified ones.What was wrong before
The earlier floors could not resolve on the downgrade run, and the "fixes" left comma-ranges that re-permitted versions below the intended floor (e.g.
Compat = "4.18.1, 3.0, 4",SciMLBase = "2.155.1, 2, 3.1",Reexport = "1.2.2, 1.0",DataStructures = "0.19.5, 0.19"). Those lower ranges defeat the bump, and the floors were also raised to the latest patch rather than the lowest working version.Corrected bounds (lowest that resolve + pass on Julia 1.10)
Why the lower ranges had to be dropped:
DiffEqBase = "6.217, 7"(its existing floor) already forcesSciMLBase >= 2.143andFunctionWrappersWrappers = 1;SciMLBase 1.73/2.0can never resolve against that, so the1.73and the< 2.154part of the2range are dead. The disjoint upper3.1range (DiffEqBase 7 / SciMLBase 3 era) is kept since it is above the floor and genuinely declared.DiffEqBase,ODEInterface, andSciMLLoggingfloors are unchanged.julia = "1.6"is kept, and the workflowjulia-versionstays1.10.Verification
Reproduced the downgrade locally on Julia 1.10.11 in an isolated depot by pinning every non-stdlib dep to its compat floor, then iterating to the lowest resolvable + test-passing set. Full
Pkg.test()at the pinned floors:Local downgrade suite on Julia 1.10: PASS.
🤖 Generated with Claude Code