CI Broken: Dependency Resolution Failure
Summary
The CI is currently broken on the master branch. The test (alldeps, 1.10) job is failing with an unsatisfiable dependency resolution error.
Which CI Job Failed
Other CI Jobs Status
All other CI jobs passed:
- ✅ AllocCheck
- ✅ Documentation / Build and Deploy Documentation
- ✅ Spell Check with Typos
- ✅ Tests (1) / Tests
- ✅ Tests (lts) / Tests
- ✅ Tests (pre) / Tests
- ✅ runic
Error Details
The failure occurs during the dependency resolution phase after julia-downgrade-compat@v2 attempts to resolve minimal versions with --min=@alldeps mode.
Key Error Message:
ERROR: LoadError: Unsatisfiable requirements detected for package OrdinaryDiffEq [1dea7af3]:
OrdinaryDiffEq [1dea7af3] log:
├─possible versions are: 4.0.0-6.105.0 or uninstalled
├─restricted to versions * by project [a0499a33], leaving only versions: 4.0.0-6.105.0
├─restricted by compatibility requirements with RecursiveArrayTools [731186ca] to versions: 6.62.0-6.99.0 or uninstalled, leaving only versions: 6.62.0-6.99.0
│ └─RecursiveArrayTools [731186ca] log:
│ ├─possible versions are: 0.16.0-3.42.1 or uninstalled
│ ├─restricted to versions 3.1.0-3 by project [a0499a33], leaving only versions: 3.1.0-3.42.1
│ └─restricted to versions 3.1.0 by an explicit requirement, leaving only versions: 3.1.0
└─restricted by compatibility requirements with DataStructures [864edb3b] to versions: 4.0.0-5.42.3 or uninstalled — no versions left
└─DataStructures [864edb3b] log:
├─possible versions are: 0.9.0-0.19.3 or uninstalled
└─restricted to versions 0.17.20 by an explicit requirement, leaving only versions: 0.17.20
Root Cause Analysis
The issue is a dependency compatibility conflict in the "alldeps" (all dependencies at minimum versions) test configuration:
- The downgrade-compat action is forcing
RecursiveArrayTools to version 3.1.0 (minimum version)
- The downgrade-compat action is also forcing
DataStructures to version 0.17.20 (minimum version)
- When trying to resolve
OrdinaryDiffEq:
RecursiveArrayTools@3.1.0 requires OrdinaryDiffEq versions 6.62.0-6.99.0
DataStructures@0.17.20 restricts OrdinaryDiffEq to versions 4.0.0-5.42.3
- These ranges don't overlap → unsatisfiable
This is a compat bounds issue where the minimum versions specified in Project.toml are incompatible with each other.
Suggested Fix
This likely requires updating the [compat] section in Project.toml to ensure the minimum version bounds are mutually compatible. Specifically:
- Review the minimum version requirements for
DataStructures, RecursiveArrayTools, and OrdinaryDiffEq in the [compat] section
- Test that the minimum versions can actually be resolved together
- Either:
- Bump the minimum version of
DataStructures to a version compatible with the current RecursiveArrayTools and OrdinaryDiffEq requirements, OR
- Adjust the minimum versions of
RecursiveArrayTools or OrdinaryDiffEq accordingly
The goal is to ensure that when all dependencies are downgraded to their minimum compat-specified versions (which is what the alldeps test does), they can still be resolved together.
Context
This issue was discovered during an automated CI health check (PR #185) that tests the master branch periodically to catch CI breakage proactively.
@ChrisRackauckas
Detected: 2026-01-07 via automated CI health check
CI Broken: Dependency Resolution Failure
Summary
The CI is currently broken on the master branch. The
test (alldeps, 1.10)job is failing with an unsatisfiable dependency resolution error.Which CI Job Failed
test (alldeps, 1.10)Other CI Jobs Status
All other CI jobs passed:
Error Details
The failure occurs during the dependency resolution phase after
julia-downgrade-compat@v2attempts to resolve minimal versions with--min=@alldepsmode.Key Error Message:
Root Cause Analysis
The issue is a dependency compatibility conflict in the "alldeps" (all dependencies at minimum versions) test configuration:
RecursiveArrayToolsto version3.1.0(minimum version)DataStructuresto version0.17.20(minimum version)OrdinaryDiffEq:RecursiveArrayTools@3.1.0requiresOrdinaryDiffEqversions6.62.0-6.99.0DataStructures@0.17.20restrictsOrdinaryDiffEqto versions4.0.0-5.42.3This is a compat bounds issue where the minimum versions specified in
Project.tomlare incompatible with each other.Suggested Fix
This likely requires updating the
[compat]section inProject.tomlto ensure the minimum version bounds are mutually compatible. Specifically:DataStructures,RecursiveArrayTools, andOrdinaryDiffEqin the[compat]sectionDataStructuresto a version compatible with the currentRecursiveArrayToolsandOrdinaryDiffEqrequirements, ORRecursiveArrayToolsorOrdinaryDiffEqaccordinglyThe goal is to ensure that when all dependencies are downgraded to their minimum compat-specified versions (which is what the
alldepstest does), they can still be resolved together.Context
This issue was discovered during an automated CI health check (PR #185) that tests the master branch periodically to catch CI breakage proactively.
@ChrisRackauckas
Detected: 2026-01-07 via automated CI health check