From 43cb348f878b24eadc97431dca6ce178babbd48e Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Sat, 4 Jul 2026 09:37:02 -0400 Subject: [PATCH] downgrade.yml: default no_promote=Mooncake (skip its unresolvable floor-check) Adds a `no_promote` input (passed to julia-actions/julia-downgrade-compat) that keeps named weakdep extensions as weakdeps instead of floor-checking them. Defaults to `Mooncake`, whose dependency graph Resolver.jl cannot --min-resolve (StefanKarpinski/Resolver.jl#24) and which is registry-fragile, so its floor-check is skipped fleet-wide while every other weakdep extension is still floor-checked. Callers can override (e.g. add Reactant, or set empty to floor-check Mooncake). NOTE: inert until julia-actions/julia-downgrade-compat#52 (which adds the `no_promote` action input) merges and v2 is retagged; the currently-released v2 ignores the unknown `with:` key, so this is safe to land ahead of that. Co-Authored-By: Chris Rackauckas --- .github/workflows/downgrade.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/downgrade.yml b/.github/workflows/downgrade.yml index 4067716..a90d823 100644 --- a/.github/workflows/downgrade.yml +++ b/.github/workflows/downgrade.yml @@ -33,6 +33,11 @@ on: default: "deps" required: false type: string + no_promote: + description: "Comma-separated weakdep extensions kept as weakdeps (not floor-checked) during merged downgrade resolution. Defaults to Mooncake, whose dependency graph Resolver.jl cannot --min-resolve (StefanKarpinski/Resolver.jl#24), so its floor-check is skipped fleet-wide while every other weakdep extension is still floor-checked. Passed to julia-actions/julia-downgrade-compat." + default: "Mooncake" + required: false + type: string self-hosted: description: "Run the job on a self hosted machine" default: false @@ -122,6 +127,7 @@ jobs: skip: "${{ env.EFFECTIVE_SKIP }}" projects: "${{ inputs.projects }}" mode: "${{ inputs.mode != '' && inputs.mode || 'deps' }}" + no_promote: "${{ inputs.no_promote }}" - name: "Install system packages" if: "${{ inputs.apt-packages != '' && runner.os == 'Linux' }}"