Skip to content

ci: Node.js 24 で動く版へ actions を上げる - #4

Merged
GarupanOjisan merged 1 commit into
mainfrom
ci/node24-actions
Oct 19, 2026
Merged

GarupanOjisan merged 1 commit into
mainfrom
ci/node24-actions

Conversation

@GarupanOjisan

@GarupanOjisan GarupanOjisan commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

GitHub Actions の「Node.js 20 is deprecated」警告に対応します。
Node.js 20 で動く action を Node.js 24 で動く版に上げ、commit SHA に固定しました。
mlugg/setup-zig だけは Node.js 24 で動く版がまだないため据え置きます。

警告の原因

警告は、ワークフローで指定している Node.js のバージョンではなく、action 自体が Node.js 20 で動く版であることから出ています。
app.yml の node-version: '22.23.2' はアプリのビルドとテストに使う Node.js で、この警告とは関係しないので変えていません。
#3 の CI で、警告の対象として挙がっていた action は次の 4 つです。

action 変更前 変更後 使う Node.js
actions/checkout v4(v4.4.0) v7.0.1 node24
actions/setup-node v4 v7.1.0 node24
actions/setup-python SHA のみ(v5 系) v7.0.0 node24
mlugg/setup-zig v2.2.1 v2.2.1(据え置き) node20

各版の action.yml の runs.using を見て、使う Node.js を確認しました。
SHA は pinact で固定し、各タグが指すコミットと一致することを GitHub の API で照合しました。
zig-fmt.yml の actions/checkout@v4 と mlugg/setup-zig@v2 はタグ指定だったので、あわせて SHA に固定しています。

破壊的変更の影響

v4 から v7 までの各メジャー版のリリースノートを読み、このリポジトリのワークフローで影響がないことを確認しました。

  • actions/checkout v6:認証情報を別ファイルに保存するようになりました。このリポジトリのワークフローは push しないので影響しません。
  • actions/checkout v7:内部の ESM 移行で、入力と出力は変わっていません。
  • actions/setup-node v5 と v6:package.json に packageManager があると自動でキャッシュするようになりました(v6 で npm に限定)。app.yml は cache: npm を明示しているので、挙動は変わりません。
  • actions/setup-node v7:NODE_AUTH_TOKEN のダミーの書き出しが廃止されました。npm への公開はしていないので影響しません。
  • actions/setup-python v7:pip-install 入力が廃止されました。pack-compare.yml はこの入力を使わず、python -m pip install で入れています。

据え置いた mlugg/setup-zig

mlugg/setup-zig の GitHub リポジトリは Codeberg(codeberg.org/mlugg/setup-zig)の読み取り専用ミラーです。
最新の v2.2.1 も、Codeberg の main ブランチ(2026-01-18 更新)も using: 'node20' のままです。
いまはランナーが Node.js 24 で強制的に動かしているので、動作には問題ありません。
Node.js 24 で動く版が出たら上げます。
自前のスクリプトで Zig を入れれば警告は消えますが、setup-zig が持つ Zig のキャッシュを失い、CI が遅くなるので見送りました。

検証

この PR の CI(fcb6921a)で、次の 2 点を確認しました。

  • no-gpu(zig、zig-windows)、Zig format、App and mobile checks(desktop、mobile)、Flash Next pack comparison がすべて通りました。
    zig-windows は upstream の v1.1.1 を取り込み、GLM CUDA を upstream のエンジンへ切り替える(3bit EXL3 は維持) #3 で入れたとおり、ステップの失敗を注記に残したうえでジョブとしては通っています。
  • 各ジョブの注記を GitHub の API で調べました。
    Node.js 20 の警告が残っているのは zig、zig-windows、fmt の 3 ジョブで、対象はすべて mlugg/setup-zig だけです。
    desktop、mobile、pack-compare には警告がありません。

🤖 Generated with Claude Code

GitHub Actions の Node.js 20 の非推奨警告に対応する。
actions/checkout を v7.0.1、actions/setup-node を v7.1.0、actions/setup-python を v7.0.0 に上げ、
pinact で commit SHA に固定した。zig-fmt.yml の mlugg/setup-zig@v2 も SHA に固定した。

mlugg/setup-zig は最新の v2.2.1 も Codeberg の main も node20 のままで、
Node.js 24 で動く版がないため据え置く。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@GarupanOjisan
GarupanOjisan merged commit b6ebf62 into main Oct 19, 2026
8 checks passed
@GarupanOjisan
GarupanOjisan deleted the ci/node24-actions branch October 19, 2026 17:35
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