Skip to content

ci: update GitHub Actions to current major versions - #560

Merged
magnus-madsen merged 1 commit into
masterfrom
ci/bump-action-versions
Jul 28, 2026
Merged

ci: update GitHub Actions to current major versions#560
magnus-madsen merged 1 commit into
masterfrom
ci/bump-action-versions

Conversation

@magnus-madsen

Copy link
Copy Markdown
Member

Every action used by the workflows was pinned several majors behind. This brings them all current.

Workflow Action Was Now
ci.yml actions/checkout (4 uses) v4 v7
ci.yml actions/setup-node (3 uses) v4 v7
ci.yml actions/setup-java v4 v5
publish-open-vsx.yaml actions/checkout, actions/setup-node v4 v7
semantic-commit.yaml actions/github-script v4 v9

github-script@v4 was the pressing one. It declares runs.using: node12, a runtime GitHub retired, and only still ran because the runner silently forced it onto a newer Node — a fallback that can disappear without warning.

Also drops the github-token input from the title check (the script makes no API calls, so it never needed a token) and removes two trailing whitespace-only lines.

Why this should be a no-op

Checked against the release notes for each major crossed:

  • checkout v7 blocks fork-PR checkout only for pull_request_target and workflow_run. These workflows use plain pull_request.
  • setup-node v5+ introduced auto-caching keyed off a packageManager field in package.json, which this repo does not set — and every call site already passes cache: 'npm' explicitly.
  • github-script v9 breaks require('@actions/github') and redeclaring getOctokit. The title-check script does neither; it only reads context.payload.pull_request.title and process.env.regex.
  • node24 runtime (checkout v5+, setup-java v5, github-script v8+) needs runner >= v2.327.1. GitHub-hosted runners are well past that.

Verification

Locally: all four YAML files parse, no @v4 pins remain, and the folded github-script body was syntax-checked and run against the job's regex — fix: something and chore: deps pass, nope no prefix and feat:missing space are rejected. Unchanged from before.

Beyond that this is reasoning from changelogs rather than a green run. CI on this PR is the real test, and it exercises every changed action except the Open VSX publish path, which is tag-triggered and won't run here.

🤖 Generated with Claude Code

All actions were pinned several majors behind:

- actions/checkout    v4 -> v7 (4 uses)
- actions/setup-node  v4 -> v7 (3 uses)
- actions/setup-java  v4 -> v5
- actions/github-script v4 -> v9

github-script@v4 was the pressing one: it declares `runs.using: node12`,
a runtime GitHub retired, and only still ran because the runner silently
forced it onto a newer Node.

Also drop the `github-token` input from the title check, since the script
makes no API calls, and remove trailing whitespace-only lines.

No behaviour change is expected:

- checkout v7 blocks fork-PR checkout only for `pull_request_target` and
  `workflow_run`; these workflows use plain `pull_request`.
- setup-node v5+ auto-caching keys off a `packageManager` field, which
  package.json does not set, and every call site already sets `cache: npm`.
- The node24 runtime in checkout v5+/setup-java v5/github-script v8+ needs
  runner >= v2.327.1, well below what GitHub-hosted runners ship.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@magnus-madsen
magnus-madsen merged commit abba858 into master Jul 28, 2026
17 of 19 checks passed
@magnus-madsen
magnus-madsen deleted the ci/bump-action-versions branch July 28, 2026 14:08
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.

1 participant