ci: add continue-on-error input to reusable downgrade workflow - #124
Closed
ChrisRackauckas-Claude wants to merge 1 commit into
Closed
ci: add continue-on-error input to reusable downgrade workflow#124ChrisRackauckas-Claude wants to merge 1 commit into
ChrisRackauckas-Claude wants to merge 1 commit into
Conversation
The downgrade workflow had no way for a caller to mark the job as an allowed failure, unlike tests.yml, grouped-tests.yml, and downstream.yml, which all expose a `continue-on-error` input. Callers cannot supply it themselves: a job that invokes a reusable workflow routes everything through `with:`. This is needed when a package's true dependency floor cannot be expressed yet — e.g. SciMLBase, whose Enzyme extension requires an upstream name that is not yet public API, so the floor cannot be raised to it (SciML/SciMLBase.jl#1457). Mirrors tests.yml/downstream.yml exactly, including the nightly clause. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013eUfG5RgLbbZY4LRawwRG9
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.
Motivation
downgrade.ymlis the only reusable test workflow here without acontinue-on-errorinput —tests.yml,grouped-tests.yml, anddownstream.ymlall expose one. Callers cannot work around this: a job that invokes a reusable workflow passes everything throughwith:, so there is no caller-side way to mark the job an allowed failure.The concrete need is SciMLBase:
SciMLBaseEnzymeExtrequiresEnzymeRules.inactive_kwarg, which exists only in Enzyme 0.13.100+ but is not yet public API upstream, so raising the compat floor to it would just trade a downgrade failure for a dependency on unsupported API (SciML/SciMLBase.jl#1457, upstream fix in EnzymeAD/Enzyme.jl#3428). Until that lands there is no floor that is both resolvable and policy-compliant, so the job needs to be non-blocking.Changes
continue-on-errorboolean input todowngrade.yml, applied to thedowngradejob as${{ inputs.continue-on-error || inputs.julia-version == 'nightly' }}. Description and expression mirrortests.ymlanddownstream.ymlexactly, including the nightly clause.Default is unset (falsey), so every existing caller keeps failing on downgrade errors as before.
Testing
actionlintclean, and verified end-to-end on a temporary branch of the fork with a caller workflow invoking thisdowngrade.ymlin a repo with no Julia project, so the inner job is guaranteed to fail:continue-on-error: truefailuresuccesscontinue-on-error: falsefailurefailureThat is the intended allowed-failure semantics, and the control run confirms the new input is what drives it rather than something else swallowing the failure. Both temporary branches have been deleted.
Note for whoever merges: callers pin
@v1, so thev1tag needs to move before SciMLBase's side of this can take effect.Opened as a draft; should be ignored until reviewed by @ChrisRackauckas.
🤖 Generated with Claude Code
https://claude.ai/code/session_013eUfG5RgLbbZY4LRawwRG9