Skip to content

ci: bump GitHub Actions to Node.js 24 runtimes#2

Merged
uzulla merged 1 commit into
mainfrom
chore/bump-actions-node24
Jun 5, 2026
Merged

ci: bump GitHub Actions to Node.js 24 runtimes#2
uzulla merged 1 commit into
mainfrom
chore/bump-actions-node24

Conversation

@uzulla

@uzulla uzulla commented Jun 3, 2026

Copy link
Copy Markdown
Owner

概要

v0.3.0 のリリース run で出ていた Node.js 20 deprecation 警告への対応です。GitHub ランナーは Node.js 20 を 2026-06-16 に Node 24 へ強制切替2026-09-16 に削除予定のため、JavaScript アクションを最新メジャー(いずれも Node 24 ベース)へ更新します。

変更

アクション
actions/checkout v4 v6
actions/setup-go v5 v6
actions/upload-artifact v4 v7
actions/download-artifact v4 v8

対象: .github/workflows/ci.yml, .github/workflows/release.yml

動作確認について

  • CI(ci.yml): この PR の push / pull_request で実走するため、checkout/setup-go の更新はこの PR 上で確認できます。
  • release(release.yml): タグ push でのみ起動するため、この PR ではテストされません。とくに upload-artifact(v4→v7) と download-artifact(v4→v8) はメジャーをまたぐので、build→release 間の artifact 受け渡し(merge-multiple: true での dist/shp-* 収集)が通るかは 次回タグリリース時に確認する想定です。もし壊れた場合は artifact 周りのメジャーだけ戻す/調整します。

依頼により、release ワークフローの実動作確認は次回リリース時に行う前提で、この PR では未検証です。

Summary by CodeRabbit

Chores

  • GitHub Actionsワークフローのアクションを最新バージョンに更新しました。これによりビルドおよびリリースプロセスの安定性と互換性が向上します。

The v0.3.0 release run warned that checkout@v4 / setup-go@v5 /
upload-artifact@v4 / download-artifact@v4 run on Node.js 20, which the
runner forces to Node 24 on 2026-06-16 and removes on 2026-09-16.

Bump to the latest majors (all Node 24 based):
- actions/checkout v4 -> v6
- actions/setup-go   v5 -> v6
- actions/upload-artifact   v4 -> v7
- actions/download-artifact v4 -> v8

upload/download-artifact crossed major versions, so the build->release
artifact handoff (merge-multiple) should be confirmed on the next tag
release.
@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

GitHub Actions workflows in .github/workflows/ci.yml and .github/workflows/release.yml are updated to use newer major versions of key actions. Checkout and setup-go actions are updated to v6 across both workflows. Release workflow also updates upload-artifact to v7 and download-artifact to v8. No workflow logic, build commands, or artifact paths are changed.

Changes

GitHub Actions Workflow Dependency Updates

Layer / File(s) Summary
CI workflow action versions
.github/workflows/ci.yml
actions/checkout updated from v4 to v6 and actions/setup-go updated from v5 to v6 in CI job steps.
Release workflow action versions
.github/workflows/release.yml
Build job updates actions/checkout to v6, actions/setup-go to v6, and actions/upload-artifact to v7. Release job updates actions/checkout to v6 and actions/download-artifact to v8.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed プルリクエストのタイトルはGitHub Actionsのバージョン更新とNode.js 24ランタイムへの移行というプルリクエストの主な変更内容を的確に要約している。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/bump-actions-node24

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yml:
- Line 12: Verify compatibility before upgrading the workflow actions: review
the actions/checkout@v6 change and ensure any use of persist-credentials is
adjusted for its new $RUNNER_TEMP behavior and, if running git auth inside
Docker, require Runner v2.329.0+; for actions/setup-go@v6, update runner
requirement to v2.327.1+ and confirm the Node runtime change (Node 20→24) is
acceptable, then adjust go/toolchain usage and cache settings—explicitly set
cache-dependency-path or include toolchain in the cache key to match the new
cache-key behavior; after making these changes around the actions/checkout@v6
and actions/setup-go@v6 entries, run CI on the required runner versions to
validate authentication and caching behave as expected.

In @.github/workflows/release.yml:
- Line 27: Update the release workflow to document and safeguard the
compatibility note between actions/checkout@v6 and actions/setup-go@v6: add a
clear comment or job-level note mentioning that actions/setup-go@v6 requires
runner v2.327.1+ (breaking change due to Node runtime change) and that runs-on:
ubuntu-latest currently satisfies this, and if switching to self-hosted runners
you must verify the runner version; also consider adding an explicit
runner-version check or matrix entry to enforce/validate runner v2.327.1+ when
using actions/setup-go@v6 and call out any relevant credential/tag/SHA-256
considerations for actions/checkout@v6.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: bc62b9ba-5f43-4782-83f7-18d994d05d8f

📥 Commits

Reviewing files that changed from the base of the PR and between d829bab and b1b9a79.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • .github/workflows/release.yml

Comment thread .github/workflows/ci.yml
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

actions/checkout v6 release notes breaking changes

💡 Result:

The release of actions/checkout v6 does not introduce breaking changes that require modifications to existing workflow YAML files [1][2]. Users can continue to use the action as they did with previous versions [1]. Key updates and requirements for v6 include: - Improved Credential Security: The persist-credentials feature has been updated to store credentials in a separate file under $RUNNER_TEMP instead of directly in the local.git/config file [1][2]. - Minimum Runner Version: When running authenticated git commands from within a Docker container action, the workflow requires an Actions Runner version of v2.329.0 or later to access these credentials correctly [1][2]. For context, v6 was released on November 20, 2025 [3]. As of June 3, 2026, the latest release is v6.0.3 [4].

Citations:


🌐 Web query:

actions/setup-go v6 release notes breaking changes

💡 Result:

The release of actions/setup-go v6 introduced several breaking changes and updates to improve reliability and performance [1][2]. The primary breaking changes are as follows: Node.js Runtime Upgrade The action's underlying Node.js runtime was upgraded from Node 20 to Node 24 [1][3]. To ensure compatibility with this release, users must ensure that their GitHub Actions runners are on version v2.327.1 or later [1][2]. Enhanced Go Toolchain Management V6 improved Go toolchain handling to ensure more consistent version selection [1][2]. The action now correctly interprets both the go and toolchain directives from go.mod files [3][4]. If a toolchain directive is present, its version is used; otherwise, the action falls back to the go directive [3][2]. This change may affect workflows where previous toolchain behavior relied on automatic downloads triggered by go commands [5]. To manage this, the action sets the GOTOOLCHAIN environment variable to local, preventing unexpected toolchain downloads during execution [5]. Cache Key Updates The default behavior for caching Go modules was updated [3][6]. Cache keys now rely on go.mod by default [3][2]. Additionally, cache keys now incorporate the version specified in the toolchain directive when present, which helps prevent cache conflicts when switching between different toolchain versions within the same Go minor release [4]. If users need to use go.sum for caching, they must explicitly configure the cache-dependency-path input [3][2].

Citations:


.github/workflows/ci.yml の actions/checkout@v6 / actions/setup-go@v6 互換性を確認(setup-go v6は破壊的変更あり)

  • actions/checkout@v6(12行目): 既存workflow YAMLの修正が必要な破壊的変更は報告なし。ただし persist-credentials の挙動変更($RUNNER_TEMP 配下への分離)や、Docker内で認証git操作を行う場合は Runner v2.329.0+ が必要。
  • actions/setup-go@v6(14行目): 破壊的変更あり。Node実行環境が Node 20→24、必要Runner v2.327.1+。加えて go/toolchain 解釈とキャッシュキー(デフォルトで go.mod 依存、toolchain 指定時はキャッシュキーに反映)の変更により、既存のキャッシュ設定・前提動作への影響があり得るため、ランナー要件とキャッシュ設定(cache-dependency-path 等)を見直してから反映する。
🧰 Tools
🪛 zizmor (1.25.2)

[warning] 12-12: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false

(artipacked)


[error] 12-12: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)

(unpinned-uses)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml at line 12, Verify compatibility before upgrading
the workflow actions: review the actions/checkout@v6 change and ensure any use
of persist-credentials is adjusted for its new $RUNNER_TEMP behavior and, if
running git auth inside Docker, require Runner v2.329.0+; for
actions/setup-go@v6, update runner requirement to v2.327.1+ and confirm the Node
runtime change (Node 20→24) is acceptable, then adjust go/toolchain usage and
cache settings—explicitly set cache-dependency-path or include toolchain in the
cache key to match the new cache-key behavior; after making these changes around
the actions/checkout@v6 and actions/setup-go@v6 entries, run CI on the required
runner versions to validate authentication and caching behave as expected.

goarch: amd64
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

actions/checkout v6 release notes

💡 Result:

actions/checkout v6 release notes (what changed across the v6.x releases) v6.0.0 (released 2025-11-20) - Update README to include Node.js 24 support details and requirements. [1] - Persist credentials to a separate file. [1] v6.0.1 (released 2025-12-02) - Update all references from v5 and v4 to v6 in the repo. [2] - Add worktree support for persist-credentials includeIf. [2] - Clarify v6 README. [2] v6.0.2 (released 2026-01-09) - Add orchestration_id to the git user-agent when ACTIONS_ORCHESTRATION_ID is set. [3] - Fix tag handling: preserve annotations and explicit fetch-tags. [3] v6.0.3 (released 2026-06-02) - Fix expand merge commit SHA regex and add SHA-256 test cases. [4] - Fix checkout init for SHA-256 repositories. [4] Primary release-note sources: - v6.0.0: https://github.com/actions/checkout/releases/tag/v6.0.0 [1] - v6.0.1: https://github.com/actions/checkout/releases/tag/v6.0.1 [2] - v6.0.2: https://github.com/actions/checkout/releases/tag/v6.0.2 [3] - v6.0.3: https://github.com/actions/checkout/releases/tag/v6.0.3 [4]

Citations:


🌐 Web query:

actions/setup-go v6 release notes

💡 Result:

actions/setup-go v6 release notes (key items) 1) v6.0.0 (released 2025-09-04) - Breaking changes: - Improved Go toolchain handling for more reliable and consistent toolchain selection and management [1]. - Upgraded the action’s Node.js runtime from node20 to node24, with an action-required runner requirement: runner v2.327.1 or later [1]. - Dependency updates included upgrades such as actions/checkout 4→5 [1]. 2) v6.1.0 (released 2025-11-20) - Enhancements: - Fall back to downloading Go from go.dev/dl instead of storage.googleapis.com/golang [2]. - Added support for.tool-versions [2]. - Added comprehensive breaking changes documentation for v6 [2]. 3) v6.2.0 (released 2026-01-13) - Enhancements/documentation and dependency updates (no additional v6-breaking items called out in the short release highlights) [3]. 4) v6.3.0 (released 2026-02-26) - Changes: - Updated default Go module caching to use go.mod [4][5]. - Fixed Go download URL to go.dev [4]. General v6 breaking-change behavior summarized in the project README - Node.js runtime upgraded from node20 to node24, and you must use runner version v2.327.1 or later for compatibility [6]. - Toolchain directive support: the action supports both go and toolchain directives in go.mod; if toolchain is present it’s used, otherwise it falls back to the go directive [6]. - Cache key update: by default, the module cache key is based on go.mod (use cache-dependency-path to use go.sum instead) [6].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
# 該当行付近を表示
sed -n '1,120p' .github/workflows/release.yml | nl -ba | sed -n '15,60p'

Repository: uzulla/shpool-launch

Length of output: 107


🏁 Script executed:

#!/bin/bash
set -euo pipefail
# nlが無いのでawkで行番号付けして該当範囲を表示
awk '{printf "%6d  %s\n", NR, $0}' .github/workflows/release.yml | sed -n '20,45p'

Repository: uzulla/shpool-launch

Length of output: 914


🏁 Script executed:

#!/bin/bash
set -euo pipefail
awk '{printf "%6d  %s\n", NR, $0}' .github/workflows/release.yml | sed -n '1,35p'

Repository: uzulla/shpool-launch

Length of output: 956


actions/checkout@v6 と actions/setup-go@v6 の互換性観点(破壊的変更)を workflow 設定に紐づけて整理

  • actions/checkout@v6 は v6.0.0〜v6.0.3 のリリースがあり、変更点は主に credentials/タグ処理/SHA-256 対応など。
  • actions/setup-go@v6 は v6.0.0 にて Node runtime(node20→node24)と runner v2.327.1 以降要件 が破壊的変更として明記されている。今回 runs-on: ubuntu-latest なので要件は満たす可能性が高いが、もし self-hosted runner に切り替わる場合は runner バージョン要件を追加確認する必要がある。
🧰 Tools
🪛 zizmor (1.25.2)

[warning] 27-27: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false

(artipacked)


[error] 27-27: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)

(unpinned-uses)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/release.yml at line 27, Update the release workflow to
document and safeguard the compatibility note between actions/checkout@v6 and
actions/setup-go@v6: add a clear comment or job-level note mentioning that
actions/setup-go@v6 requires runner v2.327.1+ (breaking change due to Node
runtime change) and that runs-on: ubuntu-latest currently satisfies this, and if
switching to self-hosted runners you must verify the runner version; also
consider adding an explicit runner-version check or matrix entry to
enforce/validate runner v2.327.1+ when using actions/setup-go@v6 and call out
any relevant credential/tag/SHA-256 considerations for actions/checkout@v6.

@uzulla uzulla merged commit 154973d into main Jun 5, 2026
2 checks passed
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