SciML / SciML/EasyModelAnalysis.jl

Re-enable Aqua.find_persistent_tasks_deps on Julia 1.12 once Pkg.jl#4587 is fixed

Open
#303 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.