Problem
A clean Julia 1.10 environment cannot develop another source checkout into current NonlinearSolve master. Resolution stops before the downstream tests because the umbrella package is fixed at v4.26.1 and requires NonlinearSolveQuasiNewton 1.15.2, while General currently contains only versions through 1.15.0. The same master also requires NonlinearSolveBase 2.43, while General currently contains only versions through 2.42.0.
Julia 1.10 does not honor the local [sources] table, so the umbrella source checkout cannot substitute the monorepo sublibraries during this resolution step.
This currently blocks the LinearSolve downstream NonlinearSolve/Core job:
https://github.com/SciML/LinearSolve.jl/actions/runs/31363806735/job/93377835789
Reproducer
Starting from clean detached worktrees at LinearSolve main f5b63ee4ed69a7558d2133a27d73805556d37a16 and NonlinearSolve master 0a441f8df6414604cc05edd5031d77a0093d04ba:
cd LinearSolve.jl
julia +1.10 --project=../NonlinearSolve.jl -e '
using Pkg
Pkg.activate("../NonlinearSolve.jl")
Pkg.develop(PackageSpec(path="."))
Pkg.update()
'
On this machine julia +1.10 is Julia 1.10.11. The command fails in Pkg.develop with:
Unsatisfiable requirements detected for package NonlinearSolveQuasiNewton [9a2c21bd]:
NonlinearSolveQuasiNewton [9a2c21bd] log:
├─possible versions are: 1.0.0-1.15.0 or uninstalled
└─restricted to versions 1.15.2-1 by NonlinearSolve [8913a72c] — no versions left
└─NonlinearSolve [8913a72c] log:
├─possible versions are: 4.26.1 or uninstalled
└─NonlinearSolve [8913a72c] is fixed to version 4.26.1
This reproduces on unmodified upstream LinearSolve main and unmodified upstream NonlinearSolve master, so it is independent of the LinearSolve allocation-workspace PR that exposed it.
Bisect
I used git bisect run with the command above as the predicate, starting from NonlinearSolve master as bad and b5086a6e24ebf6f0667e6022341ae21590ac299d as good. It identified:
9f593a8d0c978a9e6c02a6d35b2cb065898ccebe is the first bad commit
Reset the quasi-Newton update rule state on reinit! (#1146)
That commit raised the root compat floors from NonlinearSolveBase 2.42 to 2.43 and NonlinearSolveQuasiNewton 1.12 to 1.15.2, but those versions have not been registered or tagged.
Possible fixes
- Register/tag NonlinearSolveBase 2.43.0, then NonlinearSolveQuasiNewton 1.15.2, so Julia 1.10 can resolve the root checkout.
- Alternatively, teach the reusable downstream workflow to develop the downstream monorepo local source closure on Julia 1.10 before developing the upstream-under-test. Merely moving this job off LTS would hide rather than fix the supported Julia 1.10 resolution failure.
Related [sources]/Julia LTS test-harness issue:
#971
Introducing PR:
#1146
Problem
A clean Julia 1.10 environment cannot develop another source checkout into current NonlinearSolve master. Resolution stops before the downstream tests because the umbrella package is fixed at v4.26.1 and requires NonlinearSolveQuasiNewton 1.15.2, while General currently contains only versions through 1.15.0. The same master also requires NonlinearSolveBase 2.43, while General currently contains only versions through 2.42.0.
Julia 1.10 does not honor the local
[sources]table, so the umbrella source checkout cannot substitute the monorepo sublibraries during this resolution step.This currently blocks the LinearSolve downstream NonlinearSolve/Core job:
https://github.com/SciML/LinearSolve.jl/actions/runs/31363806735/job/93377835789
Reproducer
Starting from clean detached worktrees at LinearSolve main
f5b63ee4ed69a7558d2133a27d73805556d37a16and NonlinearSolve master0a441f8df6414604cc05edd5031d77a0093d04ba:On this machine
julia +1.10is Julia 1.10.11. The command fails inPkg.developwith:This reproduces on unmodified upstream LinearSolve main and unmodified upstream NonlinearSolve master, so it is independent of the LinearSolve allocation-workspace PR that exposed it.
Bisect
I used
git bisect runwith the command above as the predicate, starting from NonlinearSolve master as bad andb5086a6e24ebf6f0667e6022341ae21590ac299das good. It identified:That commit raised the root compat floors from NonlinearSolveBase 2.42 to 2.43 and NonlinearSolveQuasiNewton 1.12 to 1.15.2, but those versions have not been registered or tagged.
Possible fixes
Related
[sources]/Julia LTS test-harness issue:#971
Introducing PR:
#1146