SciML / SciML/EasyModelAnalysis.jl
Re-enable Aqua.find_persistent_tasks_deps on Julia 1.12 once Pkg.jl#4587 is fixed
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 87
- Forks
- 14
- Avg merge
- 21h 12m
- Merged PRs (30d)
- 19
Description
Summary
On Julia 1.12 the QA group's Aqua.find_persistent_tasks_deps(EasyModelAnalysis) errors:
expected package `OptimizationBase [bca83a33]` to exist at path `.../OptimizationBBO/OptimizationBase`
It passes on Julia 1.10 / lts.
Root cause (upstream, not an EMA bug)
find_persistent_tasks_deps Pkg.develops each dependency into a fresh temp env. OptimizationBBO — like ~24 of the 27 Optimization.jl sublibraries — pins its in-repo sibling via [sources] OptimizationBase = {path = "../OptimizationBase"}. This [sources] is intentional and load-bearing for the monorepo: it's honored natively on Julia ≥1.11 and emulated by SciML's develop_sources.jl helper on 1.10.
A Julia 1.12.4 Pkg regression (JuliaLang/Pkg.jl#4587) makes Pkg.develop honor a developed dependency's relative [sources] and resolve it against the depot location (.../packages/OptimizationBBO/<hash>/../OptimizationBase), where the sibling doesn't exist — hence the error. On 1.11 the developed dependency's [sources] was not consulted this way.
Removing [sources] from OptimizationBBO is not the fix — it would break the monorepo's in-repo sibling resolution. The fix belongs upstream in Pkg.jl (or Aqua could be made resilient to the Pkg.develop failure).
Temporary workaround (in this repo)
test/qa/qa.jl gates the find_persistent_tasks_deps call to VERSION < v"1.12". The rest of the Aqua suite still runs on all versions, and the persistent-tasks check still runs on lts.
Action: remove the version gate (run it unconditionally again) once JuliaLang/Pkg.jl#4587 is resolved.
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 in test/qa/qa.jl and inspect the VERSION < v"1.12" gate around Aqua.find_persistent_tasks_deps. First check whether JuliaLang/Pkg.jl#4587 is resolved, then run the QA suite on Julia 1.12 and lts. Done means the gate is removed, the persistent-tasks check runs on Julia 1.12, and the suite passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100