Skip to content

Move the release workflow onto actions that still run - #21

Merged
Skorinn merged 1 commit into
masterfrom
workflow-actions
Sep 9, 2026
Merged

Skorinn merged 1 commit into
masterfrom
workflow-actions

Conversation

@Skorinn

@Skorinn Skorinn commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Every action the release workflow uses targets Node 20, which GitHub has deprecated. The runners are already forcing them onto Node 24 and annotating each run to say so — the v1.0.0 release run carried that annotation. When the forcing stops, the release stops with it, and the release workflow is the one thing you want working on the day you need it rather than the day you find out.

Action Was Now
actions/checkout v4 v7
actions/upload-artifact v4 v7
microsoft/setup-msbuild v2 v3
NuGet/setup-nuget v2 v4

What was checked

The version numbers are not the point — the runtime is. Each old pin and each new one was read from the action’s own action.yml at that ref:

actions/checkout          v4  node20   ->  v7  node24
actions/upload-artifact   v4  node20   ->  v7  node24
microsoft/setup-msbuild   v2  node20   ->  v3  node24
NuGet/setup-nuget         v2  node20   ->  v4  node24

Reading action.yml at each new ref also proves the moving tag exists, so none of these is a uses: that fails to resolve.

Every input the workflow passes still exists on the new majors: fetch-depth on the checkout, and name, path and retention-days on the upload. Nothing else in the file had to move — the diff is four lines.

What was not checked, and why

The workflow was not run. It refuses to run anywhere but master, and it refuses at the first step, before it reaches any of these actions — so a branch cannot exercise it. Once this is on master it is worth one run against a throwaway version to see the four actions resolve on a real runner, with the draft release that produces deleted afterwards. I can do that on request.

The residual risk is behaviour rather than resolution: an action could have changed something between majors that this workflow depends on without passing it as an input. upload-artifact is the one with history there, having made artifacts immutable — but that landed in v4, which is where this workflow already was, so v7 is the smaller half of that step.

🤖 Generated with Claude Code

https://claude.ai/code/session_0153VVkWg7DQmdaNLcvtY37w

Every action the release used targets Node 20, which GitHub has deprecated.
The runners are already forcing them onto Node 24 and saying so in an
annotation on each run; when the forcing stops, the release stops with it.

checkout v4 to v7, upload-artifact v4 to v7, setup-msbuild v2 to v3 and
setup-nuget v2 to v4. Each of those is the current major and each declares
node24, which is the point of the change rather than the version numbers
themselves. Every input the workflow passes - fetch-depth on the checkout,
and name, path and retention-days on the upload - is still an input on the
new majors, so nothing else in the file had to move.

This cannot be exercised from a branch: the workflow refuses to run anywhere
but master, and it refuses before it reaches the first of these actions. It
is worth a run against a throwaway version once it is on master, with the
draft that produces deleted afterwards.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0153VVkWg7DQmdaNLcvtY37w
Copilot AI lite review requested due to automatic review settings September 9, 2026 11:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are limited to action version bumps, and the referenced tags and required inputs still exist for the updated action majors.

Pull request overview

Updates the GitHub Actions release workflow to use newer major versions of its third-party actions so the workflow continues to run on supported GitHub-hosted runner Node runtimes (avoiding Node 20 deprecation fallout).

Changes:

  • Bump actions/checkout from v4 to v7.
  • Bump microsoft/setup-msbuild from v2 to v3 and NuGet/setup-nuget from v2 to v4.
  • Bump actions/upload-artifact from v4 to v7.
File summaries
File Description
.github/workflows/release.yml Updates action uses: pins to newer majors intended to run on current runner Node runtimes while keeping existing inputs unchanged.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@Skorinn
Skorinn merged commit 78b9293 into master Sep 9, 2026
1 check passed
@Skorinn
Skorinn deleted the workflow-actions branch September 9, 2026 11:41
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.

2 participants