From 37b950a892cf7d9c008ea3051babd76d1ebf3de5 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Sat, 6 Jun 2026 04:40:17 -0400 Subject: [PATCH 1/2] ci: re-enable downgrade CI with corrected [compat] lower bounds 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 Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/Downgrade.yml | 1 - Project.toml | 10 +++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index e3e97f2..4ddde52 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -12,7 +12,6 @@ on: - 'docs/**' jobs: downgrade: - if: false # Disabled: waiting on OrdinaryDiffEq updates. See #87 for details. name: "Downgrade" uses: "SciML/.github/.github/workflows/downgrade.yml@v1" with: diff --git a/Project.toml b/Project.toml index 37a1ac0..a7c1f38 100644 --- a/Project.toml +++ b/Project.toml @@ -15,13 +15,13 @@ SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" SciMLLogging = "a6db7da4-7206-11f0-1eab-35f2a5dbe1d1" [compat] -Compat = "2.2, 3.0, 4" -DataStructures = "0.18, 0.19" +Compat = "4.15" +DataStructures = "0.19" DiffEqBase = "6.217, 7" -FunctionWrappers = "1.0" +FunctionWrappers = "1.1.3" ODEInterface = "0.5" -Reexport = "0.2, 1.0" -SciMLBase = "1.73, 2, 3.1" +Reexport = "1.2.2" +SciMLBase = "2.154, 3.1" SciMLLogging = "1.10.1, 2" julia = "1.6" From 3dca5a2238d6366dc1c8eb1d375d93ff3532249d Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Sat, 6 Jun 2026 12:50:20 -0400 Subject: [PATCH 2/2] ci(downgrade): pass mode:"deps" explicitly to work around stale @v1 The reusable downgrade.yml on the @v1 tag (frozen at 251208d, pre-#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 #67 makes "deps" the default). Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/Downgrade.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index 4ddde52..ac89fc5 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -17,4 +17,5 @@ jobs: with: julia-version: "1.10" skip: "Pkg,TOML" + mode: "deps" secrets: "inherit"