Skip to content

Commit 9544c12

Browse files
Fix downgrade CI: run downgrade leg on Julia 1.11 + raise PrecompileTools/TruncatedStacktraces floors
The Downgrade (Core) job was red on lts (Julia 1.10). Three distinct, genuine problems, fixed at their causes: 1. Unsatisfiable resolution. The resolver (julia-downgrade-compat -> Resolver.jl) minimizes Julia to the floor of its --julia range; on lts that range (1.10) admits 1.10.0. But every Mooncake 0.5.x test extra requires julia >= 1.10.8, so Mooncake can never be placed -> Unsatisfiable. Even at 1.10.8 the Enzyme 0.13 + EnzymeCore 0.8 + Mooncake 0.5 minimum-version set has no solution on the 1.10 LTS stdlib line; it resolves only once Julia reaches 1.11.6 (Mooncake 0.5's 1.11 floor). Resolver.jl ignores the project's [compat] julia for the Julia version itself, so no Project.toml change can force julia >= 1.10.8 -- the caller must request it. Fix: pin the Downgrade caller to julia-version "1.11" (resolver picks 1.11.6). Core 1.10 support is still exercised by the regular Tests workflow. 2. PrecompileTools floor too low. With resolution fixed, the minimum PrecompileTools 1.0.0 fails to precompile GPUCompiler (pulled transitively by Enzyme) on Julia 1.11: "UndefVarError: PrecompileTools not defined in GPUCompiler". GPUCompiler's compat says PrecompileTools "1", but 1.0.0 does not actually provide the API GPUCompiler uses; 1.1.0 does. Raise the floor to "1.1". 3. TruncatedStacktraces floor too low. src uses TruncatedStacktraces.@truncate_stacktrace, which does not exist before v1.1.0 ("UndefVarError: @truncate_stacktrace not defined in TruncatedStacktraces" at the v1.0.0 floor). Raise the floor to "1.1". Also reverts the earlier misdiagnosed FunctionWrappers floor raise (1 -> 1.1.3): no registered test dep constrains FunctionWrappers and the source only uses the FunctionWrapper{R,A} constructor available since 1.0.0. Version bumped to 1.9.2 for the compat-floor changes. Local verification on Julia 1.11 (the new downgrade leg): the actual julia-downgrade-compat downgrade.jl resolves the merged test project (exit 0, "Successfully resolved minimal versions"); the downgraded manifest (Enzyme 0.13.0 / GPUCompiler 0.27.5 / PrecompileTools 1.1.0 / TruncatedStacktraces 1.1.0 / Mooncake 0.5.0) precompiles cleanly; and Pkg.test GROUP=Core passes (FunctionWrappersWrappers.jl 48/48, BigFloat + UnionAll 7/7). Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent d071c14 commit 9544c12

2 files changed

Lines changed: 12 additions & 4 deletions

File tree

.github/workflows/Downgrade.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,13 @@ jobs:
2828
uses: "SciML/.github/.github/workflows/downgrade.yml@v1"
2929
with:
3030
group: "${{ matrix.group }}"
31-
julia-version: "lts"
31+
# The Mooncake/Enzyme test extras only resolve at their declared minimum
32+
# versions on Julia >= 1.11.6: every Mooncake 0.5.x requires julia >= 1.10.8,
33+
# and the Enzyme 0.13 + EnzymeCore 0.8 + Mooncake 0.5 floor set has no
34+
# minimum-version solution on the 1.10 LTS stdlib line. The downgrade
35+
# resolver minimizes julia to the floor of its --julia range, so on lts
36+
# (=1.10, which admits 1.10.0) it strands Mooncake -> Unsatisfiable. Pin the
37+
# downgrade leg to 1.11 (resolves to julia 1.11.6); the core package's 1.10
38+
# support is still exercised by the regular Tests workflow.
39+
julia-version: "1.11"
3240
secrets: "inherit"

Project.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ FunctionWrappersWrappersMooncakeExt = "Mooncake"
2020
[compat]
2121
Enzyme = "0.13"
2222
EnzymeCore = "0.8"
23-
FunctionWrappers = "1.1.3"
23+
FunctionWrappers = "1"
2424
Mooncake = "0.5"
25-
PrecompileTools = "1"
25+
PrecompileTools = "1.1"
2626
SafeTestsets = "0.1, 1"
2727
SciMLTesting = "1"
28-
TruncatedStacktraces = "1"
28+
TruncatedStacktraces = "1.1"
2929
julia = "1.10"
3030

3131
[extras]

0 commit comments

Comments
 (0)