fix(ci): stop the weekly ci-init failure and clear the Node 20 deprecation - #54
Merged
Conversation
…ation
Two scheduled workflows have failed every Sunday since at least
2026-07-26. Neither failure was in the repo's actual pull-request CI,
which is green, so they were only visible on the Actions tab.
ci-init.yml died at startup with no jobs and no log. It declared
schedule and workflow_dispatch triggers alongside workflow_call, but
every job reads the `inputs` context, which is populated only for
workflow_call. On the cron trigger `inputs.runs-on` is the empty string
and `fromJson('')` fails to parse the workflow. Running it standalone
would in any case only upload the repository to itself as an artifact,
so the triggers go rather than the expression gaining a fallback.
build-docker.yml uses the same fromJson(inputs.runs-on) pattern but is
already workflow_call-only and was never affected.
The action bumps are the minimum majors that actually run on Node 24,
checked against each action's runs.using rather than taken as the
latest tag -- upload-artifact v5 is still node20, so that one goes to
v6 while checkout goes to v5.
Not addressed here, both needing a decision rather than a bump:
- actions-ecosystem/action-size, action-add-labels and
action-remove-labels still target Node 20. Their last releases were
2020 and 2021, so there is no newer version to move to; clearing
their warning means replacing the actions.
- The auto-update pre-commit workflow fails on "GitHub Actions is not
permitted to create or approve pull requests", a repository setting.
It is likely also why these pins drifted: dependabot and
saadmk11/github-actions-version-updater are both configured here and
both need that same permission to land a bump.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Why
Two scheduled workflows have failed every Sunday since at least 2026-07-26. The repo's actual pull-request CI (
pre-commit,Size) is green, so these were only visible on the Actions tab.ci repo initializer— real bug, fixed hereThe run recorded zero jobs and no log: it died at workflow-parse time.
ci-init.ymldeclaredscheduleandworkflow_dispatchalongsideworkflow_call, but every job reads theinputscontext — which is populated only forworkflow_call. On the cron triggerinputs.runs-onis the empty string, soruns-on: ${{ fromJson(inputs.runs-on) }}fails to parse. Every failure date is a Sunday, matchingcron: 0 0 * * 0.Fix: drop the two triggers. This is a building block other workflows call; running it standalone would only upload the repository to itself as an artifact, so removing the triggers is truer than giving the expression a fallback.
build-docker.ymluses the samefromJson(inputs.runs-on)pattern but is alreadyworkflow_call-only and was never affected — checked, not assumed.Node 20 deprecation
Bumped to the minimum majors that actually run on Node 24, verified against each action's
runs.usingrather than taken as the latest tag:actions/checkoutactions/setup-pythonactions/setup-nodeactions/upload-artifactNot addressed — both need a decision, not a bump
actions-ecosystem/action-size@v2,action-add-labels@v1,action-remove-labels@v1still target Node 20. Last releases were 2020 and 2021 — there is no newer version. Clearing their warning means replacing the actions, which is a design call rather than a version bump.auto-update pre-commitfails on##[error]GitHub Actions is not permitted to create or approve pull requests. That is Settings → Actions → General → "Allow GitHub Actions to create and approve pull requests". It is probably also why these pins drifted in the first place: both dependabot andsaadmk11/github-actions-version-updaterare configured here, and both need that same permission to land a bump.Verification
actionlint 1.7.7passes on all workflows.🤖 Generated with Claude Code