SciML / SciML/DiffEqCallbacks.jl
Downgrade CI resolves incompatible OrdinaryDiffEqRosenbrock/Core versions
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 100
- Forks
- 54
- Avg merge
- 3h 29m
- Merged PRs (30d)
- 8
Description
Problem
The Core Downgrade workflow currently fails on master and on unrelated pull requests because it resolves an incompatible pair:
OrdinaryDiffEqRosenbrock v1.8.0OrdinaryDiffEqCore v1.32.0
OrdinaryDiffEqRosenbrock then fails to precompile:
WARNING: could not import OrdinaryDiffEqCore.namify into OrdinaryDiffEqRosenbrock
ERROR: LoadError: UndefVarError: `namify` not defined
The failure surfaces when Core/domain_tests.jl loads OrdinaryDiffEqRosenbrock; it is not a DiffEqCallbacks test assertion.
CI evidence
- Current
masterfailure ate1a166bf: https://github.com/SciML/DiffEqCallbacks.jl/actions/runs/30976864565 - Unrelated documentation PR failure with the same versions and stack trace: https://github.com/SciML/DiffEqCallbacks.jl/actions/runs/31045683568
- Last successful Downgrade run at
c8a16d2e: https://github.com/SciML/DiffEqCallbacks.jl/actions/runs/30533208229
Bisect result
The first failing repository run was at 1fac1f5d. The only commit between the last success and first failure is 1fac1f5d (QA: scan the Functors package extension (#331)), which changed only test/qa/Project.toml and test/qa/qa.jl. Project.toml and the Downgrade workflow are identical at the last-success and first-failure commits, including:
OrdinaryDiffEqRosenbrock = "1.8.0, 2"
Therefore there is no repository source commit to bisect further; the transition is resolver/registry-state dependent.
Local reproduction
On Julia 1.10.11 in a fresh local environment:
using Pkg
Pkg.add([
PackageSpec(name = "OrdinaryDiffEqCore", version = v"1.32.0"),
PackageSpec(name = "OrdinaryDiffEqRosenbrock", version = v"1.8.0"),
])
using OrdinaryDiffEqRosenbrock
This exits 1 with the same missing namify import.
Updating only OrdinaryDiffEqRosenbrock to v1.18.1 while retaining OrdinaryDiffEqCore v1.32.0 loads successfully:
loaded OrdinaryDiffEqRosenbrock 1.18.1
loaded OrdinaryDiffEqCore 1.32.0
Suggested fix
Raise the test compat floor to a known compatible Rosenbrock release, for example OrdinaryDiffEqRosenbrock = "1.18.1, 2", or add the appropriate upstream compatibility bound so the downgrade resolver cannot select the incompatible pair.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with test/qa/Project.toml and the Core/domain_tests.jl entry point, then inspect the Downgrade workflow and reproduce the resolver failure on Julia 1.10.11. Done means the downgrade environment no longer selects the incompatible OrdinaryDiffEqRosenbrock/Core pair and the affected workflow passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, julia
- Domain
- ci-cd, testing-qa
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100