Skip to content

fix(ci): stop the weekly ci-init failure and clear the Node 20 deprecation - #54

Merged
vveliev merged 1 commit into
mainfrom
ci/fix-scheduled-runs
Aug 14, 2026
Merged

fix(ci): stop the weekly ci-init failure and clear the Node 20 deprecation#54
vveliev merged 1 commit into
mainfrom
ci/fix-scheduled-runs

Conversation

@vveliev

@vveliev vveliev commented Aug 14, 2026

Copy link
Copy Markdown
Owner

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 here

The run recorded zero jobs and no log: it died at workflow-parse time.

ci-init.yml declared schedule and workflow_dispatch 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, so runs-on: ${{ fromJson(inputs.runs-on) }} fails to parse. Every failure date is a Sunday, matching cron: 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.yml uses the same fromJson(inputs.runs-on) pattern but is already workflow_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.using rather than taken as the latest tag:

Action Change Note
actions/checkout v4 → v5 v4 is node20
actions/setup-python v5 → v6 v5 is node20
actions/setup-node v4 → v5 v4 is node20
actions/upload-artifact v4 → v6 v5 is still node20

Not addressed — both need a decision, not a bump

  • actions-ecosystem/action-size@v2, action-add-labels@v1, action-remove-labels@v1 still 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-commit fails 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 and saadmk11/github-actions-version-updater are configured here, and both need that same permission to land a bump.

Verification

actionlint 1.7.7 passes on all workflows.

🤖 Generated with Claude Code

…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>
@vveliev
vveliev merged commit 06cd856 into main Aug 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant