Skip to content

Pin Aqua to 0.8.16 - #16

Merged
michakraus merged 1 commit into
mainfrom
compat/pin-aqua-0-8-16
Sep 17, 2026
Merged

michakraus merged 1 commit into
mainfrom
compat/pin-aqua-0-8-16

Conversation

@michakraus

Copy link
Copy Markdown
Member

Compat only. No package code changes, and nothing a caller sees changes.

What broke

Aqua v0.8.17, released 2026-09-17 at 16:46 UTC, turns the persistent_tasks check red on every CI platform and Julia version:

Persistent tasks: Error During Test at Aqua/src/persistent_tasks.jl:40
  Test threw exception
  Expression: !(has_persistent_tasks(package; kwargs...))
  Unable to locate `ChainRulesCore`, a dependency of `AbstractFFTs`

Aqua#394 writes the precompile wrapper's manifest from Base.locate_package instead of Pkg.develop, which is a good change. But the manifest_entries walk it added iterates

for key in ("version", "deps", "weakdeps", "extensions")

and calls error("Unable to locate $name, a dependency of $(prj["name"])") when locate_package returns nothing. An uninstalled weak dependency is the normal case, not a fault. AbstractFFTs declares ChainRulesCore as a weakdep, this package reaches AbstractFFTs through FFTW, and ChainRulesCore is not loaded in the test process — so the check fails on a perfectly healthy environment.

Aqua.test_all adds no enclosing testset and stops at its first failing check, so the error took the rest of runtests.jl with it. A suite that looked like it had run had verified nothing after aqua_tests.jl.

Why an exact bound

0.8.17 is the broken version and a range that excludes it has no other spelling: "0.8" and "~0.8.16" both admit it. Lift the bound back to "0.8" when the walk skips weak dependencies it cannot locate, and drop the pin with it. CompatHelper will propose bumps against this; decline them until upstream is fixed.

Evidence that this is the whole cause

main was last green on 2026-09-15, before the Aqua release. On this branch, which changes nothing but [compat], Pkg.test() resolves Aqua v0.8.16 and the full suite passes, aqua_tests.jl included.

This also unblocks #15, whose every test job is red for this reason and for no other.

🤖 Generated with Claude Code

Compat only. No package code changes.

Aqua 0.8.17, released 2026-09-17, turns `persistent_tasks` red on every
CI platform and Julia version. Its #394 writes the precompile wrapper's
manifest from `Base.locate_package`, and the `manifest_entries` walk it
added iterates each project's `deps` and `weakdeps`, raising when one
cannot be located. An uninstalled weak dependency is the normal case --
here `ChainRulesCore` behind `AbstractFFTs`, reached through FFTW -- so
the check fails on a healthy environment.

`Aqua.test_all` stops at its first failing check, so this took the rest
of `runtests.jl` with it: the suite appeared to run and had verified
nothing after `aqua_tests.jl`.

An exact bound, because 0.8.17 is the broken version and a range that
excludes it has no other spelling. Lift it to "0.8" when the walk skips
weak dependencies it cannot locate.

Co-Authored-By: Claude Opus 5 <[email protected]>
Copilot AI lite review requested due to automatic review settings September 17, 2026 20:05

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@michakraus
michakraus merged commit 834dce2 into main Sep 17, 2026
10 checks passed
@michakraus
michakraus deleted the compat/pin-aqua-0-8-16 branch September 17, 2026 20:33
@michakraus michakraus mentioned this pull request Sep 18, 2026
1 task done
michakraus added a commit that referenced this pull request Sep 18, 2026
Compat only. No package code changes.

Aqua 0.8.18, released 2026-09-18, fixes the persistent_tasks bug the pin in
PR #16 worked around: its release notes say test_persistent_tasks "no
longer errors on a weak dependency that is also listed in [deps] but not
installed", which is exactly the ChainRulesCore-behind-AbstractFFTs case
here.

Project.toml already reads Aqua = "0.8" -- CompatHelper's PR #19 merged
that change to main without a CHANGELOG entry. This closes that gap.
Pkg.test() confirms: Aqua resolves to 0.8.18, persistent_tasks passes, and
the full suite (65 968 tests) is green.

Co-authored-by: Claude Sonnet 5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants