Skip to content

Fix downgrade CI config (julia_floor)#20

Closed
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-downgrade-ci
Closed

Fix downgrade CI config (julia_floor)#20
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-downgrade-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Problem

The Downgrade Sublibraries workflow fails at the julia-actions/julia-downgrade-compat@v2 step (before buildpkg/runtest) for every lib/* sublibrary, e.g.:

[ERROR] Invalid compat version spec: --julia=lts
ERROR: LoadError: failed process: Process(`... resolve.jl lib/CanonicalMoments --min=@alldeps --julia=lts`, ProcessExited(1))

Root cause: the caller did not set julia-version, so it inherited the centralized sublibrary-downgrade.yml@v1 default of "lts". That value is forwarded verbatim into julia-downgrade-compat's sublibrary resolver as resolve.jl --julia=lts. The resolver only accepts a numeric registry-compat version spec (e.g. 1.10), not the lts channel alias, so resolution aborts.

This is config-only. The Julia runtime is unaffected: lts already resolved to 1.10.11 at the setup step, and the sublibrary [compat] julia floor is "1.10", so pinning julia-version: "1.10" produces the identical runtime while giving the resolver a value it accepts.

Pre-existing vs introduced

Downgrade Sublibraries on main was green on 2026-06-07 and flipped to failure on 2026-06-08, coinciding with the move to the centralized sublibrary downgrade workflow. The main (non-sublibrary) Downgrade workflow is unaffected (it routes lts through downgrade.yml@v1, which converts it to a numeric spec) and stays green.

Change

Set julia-version: "1.10" (the numeric sublibrary floor) in .github/workflows/DowngradeSublibraries.yml. No Project.toml, source, or test changes. actionlint passes.

Ignore until reviewed by @ChrisRackauckas.

🤖 Generated with Claude Code

The Downgrade Sublibraries caller relied on the centralized
sublibrary-downgrade.yml default julia-version "lts". That alias is
forwarded verbatim to julia-downgrade-compat's resolver as
`resolve.jl --julia=lts`, which only accepts a numeric registry-compat
spec and fails with `Invalid compat version spec: --julia=lts`. Pinning
to the numeric sublibrary floor "1.10" (the same runtime lts already
resolved to) fixes resolution. Config-only.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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