Skip to content

chore: 書籍CIをNode.js 24対応Actionへ移行する #258

Description

@ootakazuhiko

背景

2026-07-13の github-guide-for-beginners-bookgithub-workflow-book のmain/Pages検証で、GitHub Actionsが次のannotationを出した。

Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24.

観測対象:

  • repository管理のBook QA: actions/configure-pages@v5
  • GitHub管理のlegacy pages-build-deployment: actions/checkout@v4 / actions/upload-artifact@v4

2026-07-13時点の上流latest releaseは次のとおり。

repository側で制御できるworkflowと、GitHub管理のlegacy Pages workflowを分けて監査し、根拠なく一括置換しない。

対象範囲

  • published / preview書籍のactive workflow
  • ポータル自身のworkflow
  • shared formatter / reusable workflowがある場合は変更所有権を優先
  • GitHub管理legacy Pagesのannotationは、repository sourceで修正可能か、custom Actions deploymentへの移行が必要かを区別

チェックリスト

監査

  • catalog掲載repoのactive workflowからNode 20対象Actionをfixed SHA / major / workflow別に棚卸しする
  • repository管理workflowとGitHub管理workflowを区別する
  • reusable workflow / template / generatorが上書きする箇所を特定する
  • 各上流release notesとbreaking changeを一次情報で確認する
  • security hardening上、major tag継続かcommit SHA pinかを現行方針と照合する

実装

  • 変更所有権が共通repoにある場合は共通修正を先行する
  • 書籍repoごとに必要なsource Issueを作成し、無関係な本文変更と混在させない
  • actions/configure-pages@v5 をNode 24対応版へ更新してBook QA annotationを解消する
  • checkout / artifact等の更新で権限、artifact形式、retention、Pages連携に回帰がないことを確認する
  • legacy Pages由来で直接修正不能なwarningは、custom Actions deployment移行の費用対効果とrollbackを記録する

検証

  • PR checks green
  • review本文・inline・suggestionを全件処理し、unresolved thread 0
  • main checks green
  • Pages deploy success / production HTTP 200
  • 対象annotationが消えたことをrun logで確認する
  • 変更不能なmanaged annotationは、GitHub側依存として根拠と再確認日を記録する

ポータル証跡

  • 対象repo、before/after action version、PR、merge SHA、run URLを一覧化する
  • parent/関連品質Issueへ証跡を追記する
  • workspace cleanupと残存warning再監査を行う

非スコープ

  • npm / Bundler依存warning自体の更新(既存source Issueで別追跡)
  • 書籍本文・reader-facing UXの変更
  • GitHub管理workflowをrepository sourceで制御できると推測して変更すること

完了条件

  • repository側で制御できるNode 20 action warningが解消している
  • GitHub管理legacy Pagesの残存warningは、変更可能性・移行判断・再確認条件が明記されている
  • 全PRでreview completeness、CI、main、Pages、本番確認の証跡が揃っている

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions