Skip to content

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

Description

@ChrisRackauckas-Claude

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions