Skip to content

Fix downgrade CI config (julia_floor)#1224

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

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Problem

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

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

Root cause: the caller passed julia-version: "lts", which the centralized sublibrary-downgrade.yml@v1 forwards 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. (The fast-cancelled sibling matrix jobs are fail-fast cancellations of the same error.)

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

Pre-existing vs introduced

Downgrade Sublibraries on master has been failing on this lts resolver error since the sublibrary downgrade workflow was centralized. The main (non-sublibrary) Downgrade workflow is green (it routes lts through downgrade.yml@v1, which converts it to a numeric spec).

Change

Set julia-version: "1.10" (numeric sublibrary floor) in .github/workflows/DowngradeSublibraries.yml; the existing skip: "SymbolicAnalysis" and group env inputs are unchanged. No Project.toml, source, or test changes. actionlint passes.

Ignore until reviewed by @ChrisRackauckas.

🤖 Generated with Claude Code

The Downgrade Sublibraries caller passed julia-version "lts", which is
forwarded verbatim to julia-downgrade-compat's resolver as
`resolve.jl --julia=lts`. That resolver 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