Fix Downgrade CI: raise PrecompileTools compat floor to 1.1#117
Merged
ChrisRackauckas merged 1 commit intoJun 24, 2026
Merged
Conversation
The Downgrade/Core lane was red: with PrecompileTools pinned at the [compat] floor 1.0.1, the resolver pairs it with StaticArrayInterface 1.10.0 (the only StaticArrayInterface versions in the registry, 1.4.1-1.10.0, all declare PrecompileTools="1"). Every one of those StaticArrayInterface versions does `using PrecompileTools; @recompile_invalidations begin ... end`, but `@recompile_invalidations` was only added to PrecompileTools in 1.1.0. So StaticArrayInterface (a test/ext dependency that the downgrade run promotes to a dependency) fails to precompile with `UndefVarError: @recompile_invalidations not defined`, taking down EllipsisNotationStaticArrayInterfaceExt and the static_array_interface.jl Core test. StaticArrayInterface's own [compat] PrecompileTools="1" is too loose (upstream bug), but EllipsisNotation can prevent the bad pairing by requiring PrecompileTools >= 1.1, where the macro exists. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Please ignore until reviewed by @ChrisRackauckas.
Problem
The
Downgrade / Downgrade Tests - Corelane onmasteris red. The error:Root cause
The downgrade run pins direct deps to their
[compat]floor. EllipsisNotation hadPrecompileTools = "1.0.1". With PrecompileTools pinned at 1.0.1, the resolver pairs it withStaticArrayInterface v1.10.0(every registry version of StaticArrayInterface, 1.4.1 through 1.10.0, declaresPrecompileTools = "1", so the latest is chosen).Every one of those StaticArrayInterface versions does:
but
@recompile_invalidationswas only added to PrecompileTools in 1.1.0. So under the downgrade resolution StaticArrayInterface fails to precompile withUndefVarError: @recompile_invalidations not defined, which cascades intoEllipsisNotationStaticArrayInterfaceExtand thestatic_array_interface.jlCore test.StaticArrayInterface advertising
PrecompileTools = "1"is itself too loose (upstream bug), but EllipsisNotation can avoid the bad pairing by requiringPrecompileTools >= 1.1, where the macro exists.Fix
Raise
PrecompileToolscompat floor1.0.1 -> 1.1, and bump the package version1.10.0 -> 1.10.1(compat change requires a release for registration).Verification (local, Julia LTS 1.10.11)
Reproduced the exact failure before the fix (PrecompileTools pinned 1.0.1):
After the fix (PrecompileTools pinned at the new floor 1.1.0, StaticArrayInterface v1.10.0 resolved):
All Core test files pass:
🤖 Generated with Claude Code