-
-
Notifications
You must be signed in to change notification settings - Fork 39
Description
Summary
The CI on the master branch is currently failing with multiple issues affecting different test jobs. This was discovered during an automated CI health check.
Failed CI Jobs
- test (alldeps, 1.11) - Missing dependency failure
- test (alldeps, 1.11, lib/BoundaryValueDiffEqMIRK) - Test error in "Swirling Flow III"
- ModelingToolkit.jl/All/1 - Upstream API change in ModelingToolkit
- Format Check - Formatting issue
Error Details
1. Missing OptimizationBase Dependency (test alldeps, 1.11)
The main BoundaryValueDiffEq test suite fails at precompilation due to a missing dependency:
ERROR: LoadError: ArgumentError: Package BoundaryValueDiffEqCore does not have OptimizationBase in its dependencies
This affects BoundaryValueDiffEqCore, BoundaryValueDiffEqAscher, and BoundaryValueDiffEqMIRK packages. The error suggests that OptimizationBase needs to be added as a dependency to BoundaryValueDiffEqCore/Project.toml.
Root cause: BoundaryValueDiffEqCore attempts to import OptimizationBase but it is not declared in its dependencies.
2. Enzyme Mutability Error in MIRK Tests (Swirling Flow III)
The BoundaryValueDiffEqMIRK test suite has 1 test error in the "Swirling Flow III" test item:
EnzymeMutabilityException: Function argument passed to autodiff cannot be proven readonly.
If the function argument cannot contain derivative data, instead call autodiff(Mode, Const(f), ...)
This appears to be an issue with Enzyme.jl's automatic differentiation when computing Jacobians. The error suggests that Enzyme cannot prove that the function argument is readonly, which may indicate an incompatibility between the current versions of Enzyme.jl and the BoundaryValueDiffEqMIRK code.
Failed test: test/mirk_basic_tests.jl:267 - "Swirling Flow III"
3. ModelingToolkit Upstream API Change
The ModelingToolkit.jl downstream tests fail with:
ERROR: LoadError: UndefVarError: `generate_ODENLStepData` not defined in `ModelingToolkitBase`
This error occurs in downstream/src/systems/solver_nlprob.jl:1. The function generate_ODENLStepData appears to have been removed or renamed in a recent version of ModelingToolkitBase.
This is an upstream issue in ModelingToolkit.jl/ModelingToolkitBase.
CI Run Links
- Failed test (alldeps, 1.11): https://github.com/SciML/BoundaryValueDiffEq.jl/actions/runs/20564235380/job/59059579586
- Failed MIRK tests: https://github.com/SciML/BoundaryValueDiffEq.jl/actions/runs/20564235363/job/59059579579
- Failed ModelingToolkit tests: https://github.com/SciML/BoundaryValueDiffEq.jl/actions/runs/20564235388/job/59059579633
Suggested Fix Approach
-
OptimizationBase dependency: Add
OptimizationBaseto the[deps]section inlib/BoundaryValueDiffEqCore/Project.toml -
Enzyme/MIRK issue: This may require updating how Enzyme is called for Jacobian computation, possibly by wrapping the function in
Const()or adjusting the function annotation settings -
ModelingToolkit issue: This likely requires updating the downstream ModelingToolkit integration to match the latest API changes in ModelingToolkitBase. May need to check what replaced
generate_ODENLStepData.