Node 20 在 GitHub Actions 中不再可用

2026-09-24

Node 20 在 GitHub Actions 中不再可用

这是最终通知:Node 20 在 GitHub Actions 运行器上不再可用。运行器现在对 JavaScript actions 使用 Node 24。临时的 ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION 退出选项不再可用。如果你维护一个 JavaScript action,请将其 runs.using 值更新为 node24,并尽快发布新版本。详情请参阅 JavaScript actions 的元数据语法。如果你在工作流中使用 JavaScript actions,请更新到那些支持 Node 24 的 actions 的最新版本。详情请参阅 actions 的版本使用。所有第一方 actions 的最新版本都已更新为使用 Node 24,如我们的公告变更日志所述。Node 24 与 macOS 13.4 及更早版本不兼容,并且不正式支持 ARM32。使用这些操作系统或架构的自托管运行器不再受支持。此变更适用于 github.com 和带 Data Residency 的 GitHub。

GitHub Actions 运行器已不再提供 Node 20,JavaScript actions 需迁移到 Node 24;临时绕过选项失效,自托管 macOS 13.4 及更早和 ARM32 不再受支持。

这是什么信号

GitHub 官方发布最终通知:Node 20 在 GitHub Actions 运行器上不再可用,运行器对 JavaScript actions 使用 Node 24。临时绕过变量 ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION 也已关闭。这意味着 Actions 的 JavaScript 运行时切换进入不可回退阶段,而不是一次可忽略的提醒。

为什么重要

GitHub Actions 是大量项目的默认 CI/CD 入口。运行时从 Node 20 切到 Node 24,会直接影响自定义 JavaScript action 与工作流里引用的第三方 action。如果 action 的 runs.using 仍指向旧版本,或工作流仍使用未适配 Node 24 的 action,构建、发布、测试等流水线可能失败。官方还明确,所有第一方 actions 的最新版本已更新为使用 Node 24,这会把兼容压力更快传导到生态依赖上。

对谁有价值

可以怎么行动

  1. 盘点自有 action 仓库中的 action.yml 或 action.yaml,确认 runs.using 是否为 node20;若是,改为 node24,测试后发布新版本。
  2. 检查 workflow 中通过 uses 引用的 JavaScript actions,升级到支持 Node 24 的版本,优先确认第一方 actions 的更新情况。
  3. 对自托管运行器做 OS 与架构盘点,macOS 13.4 及更早和 ARM32 环境应迁移到受支持平台。
  4. 在正式发布前跑一次完整 CI 回归,覆盖 Node 24 下的构建、测试和发布流程。
  5. 为 Actions 运行时与第三方 action 版本建立定期检查机制,避免再次被动应对运行时退役。

风险或限制

临时绕过选项已不可用,继续依赖 Node 20 没有官方回退路径。Node 24 与 macOS 13.4 及更早版本不兼容,且不正式支持 ARM32,相关自托管运行器不再受支持。此变更适用于 github.com 和带 Data Residency 的 GitHub。另一个限制是,第一方 actions 最新版已适配不代表所有第三方 actions 都已适配,仍需逐个确认版本与兼容性。

这条内容的真正价值,不只是“有人发布了一个新功能”,而是它揭示了 github.blog 背后的产品方向、工作流变化或竞争信号。对 OPC 来说,这种信息可以转化成持续追踪的栏目选题。

如果把《Node 20 在 GitHub Actions 中不再可用》放到你的内容系统里,它最大的价值在于帮助读者更快看懂“为什么值得关注”,而不是只看到一条碎片化动态。