You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Julia < 1.11 the sublibrary dispatcher in test/runtests.jl works around Pkg ignoring the [sources] table by Pkg.activate-ing the sublibrary and Pkg.develop-ing the transitive [sources] closure. Pkg.develop into the active project adds those packages to the sublibrary's own Project.toml[deps] in the working tree. The Aqua QA tests then read that mutated Project.toml and fail:
Stale dependencies: Test Failed
Evaluated: isempty(Base.PkgId[NonlinearSolve, NonlinearSolveQuasiNewton, BracketingNonlinearSolve,
SimpleNonlinearSolve, NonlinearSolveSpectralMethods, NonlinearSolveFirstOrder])
NonlinearSolveHomotopyContinuation does not declare a compat entry for the following deps:
BracketingNonlinearSolve, NonlinearSolveFirstOrder, NonlinearSolveQuasiNewton,
NonlinearSolveSpectralMethods, SciMLJacobianOperators, SimpleNonlinearSolve
The flagged set is exactly the [sources]-transitive develop set (umbrella root → all sublibraries, NonlinearSolveBase → SciMLJacobianOperators), confirming the mechanism. The same job on Julia 1 / pre passes because [sources] is honored and no mutation happens.
Affected: any sublibrary whose [sources] includes the umbrella root (path = "../.."), i.e. NonlinearSolveHomotopyContinuation and SCCNonlinearSolve, and only their [QA] (julia lts) jobs. Easy to miss because the sublibrary matrix is path-filtered: these jobs only run when the sublibrary itself is touched — first observed on #970 (see https://github.com/SciML/NonlinearSolve.jl/actions/runs/27450537066/job/81144716461).
Possible directions (each with trade-offs, so leaving to a maintainer decision rather than bundling into #970):
On Julia < 1.11 the sublibrary dispatcher in
test/runtests.jlworks around Pkg ignoring the[sources]table byPkg.activate-ing the sublibrary andPkg.develop-ing the transitive[sources]closure.Pkg.developinto the active project adds those packages to the sublibrary's ownProject.toml[deps]in the working tree. The Aqua QA tests then read that mutated Project.toml and fail:The flagged set is exactly the
[sources]-transitive develop set (umbrella root → all sublibraries, NonlinearSolveBase → SciMLJacobianOperators), confirming the mechanism. The same job on Julia 1 / pre passes because[sources]is honored and no mutation happens.Affected: any sublibrary whose
[sources]includes the umbrella root (path = "../.."), i.e. NonlinearSolveHomotopyContinuation and SCCNonlinearSolve, and only their[QA] (julia lts)jobs. Easy to miss because the sublibrary matrix is path-filtered: these jobs only run when the sublibrary itself is touched — first observed on #970 (see https://github.com/SciML/NonlinearSolve.jl/actions/runs/27450537066/job/81144716461).Possible directions (each with trade-offs, so leaving to a maintainer decision rather than bundling into #970):
pkgdir.Pkg.testreturns (doesn't help: Aqua runs during the test).🤖 Generated with Claude Code