nodejs / nodejs/docker-node

Prepare for Node.js 27 pre-release (Alpha) / release

未关闭
#2,524 16 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

build process enhancement
主要语言
Dockerfile
星标
8.6k
派生
2k
平均合并
10 小时 19 分钟
30 天内合并 PR
16

描述

Task

Prepare for the new Node.js release model for Node.js 27 beginning in Oct 2026 with releases like 27.0.0-alpha.0.0.0 followed 6 months later in April 2027 by 27.0.0.

Background

The blog post Evolving the Node.js Release Schedule, March 10, 2026, announced the plan to release Node.js 27 Alpha in Oct 2026, followed by Node.js 27.0.0 in April 2027 and included the schedule information for the new model that Node.js 27 is planning to follow:

Milestone Date
Alpha begins October 2026
27.0.0 April 2027
Enters LTS October 2027
End of Life April 2030

According to the blog post, Alpha versioning follows semver prerelease format (e.g., 27.0.0-alpha.1) and semver-major changes are allowed during this phase.

Implications

This repo uses a combination of JavaScript, Bash script and GitHub Actions workflows to detect new Node.js versions and to update Dockerfiles to pass on to the official Docker site for image publication.

It interfaces with sources:

and posts its results to:

  • https://nodejs/official-images
    for image publication.

If the existing source interfaces are extended so they publish prerelease versions such as 27.0.0-alpha.0.0.0, then the viability of the workflows in this repo is uncertain, whichever of the following scenarios is followed:

Scenario 1 - ignore prerelease versions

Script changes would be needed to ignore prerelease versions. Sorting and comparisons may produce the wrong results when prerelease and release versions are available.

Scenario 2 - publish prerelease versions

To publish prerelease (Alpha) versions as Docker images, more extensive changes would be needed. versions.json needs a new field for the Alpha phase. Functionality similar to the npm package semver would be needed for version comparisons. The full version would need to be preserved in various places, instead of using an assumption that only major.minor.patch formats need to be handled.

Next steps

Gather inputs and make a decision on the direction to be taken for Node.js 27:

  • Scenario 1 - ignore prerelease Node.js 27
  • Scenario 2 - publish prerelease Node.js 27 versions as node Docker images

Since this is a major policy decision, it should have the active involvement of the Docker Maintainers, possibly also with guidance from the Node.js TSC.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 versions.json、Dockerfiles 以及读取 Node.js 源代码并更新镜像版本的 GitHub Actions 工作流开始。审查当前如何对预发布版本进行排序和比较,然后在决定是忽略还是发布 Node.js 27 Alpha 版本之前,收集维护者和 Node.js TSC 的意见。完成的标准是,项目已就该场景达成方向共识并确定实现范围。

由索引模型根据 Issue 内容生成。

评估

技术栈
bash, docker, github-actions, javascript, node.js
领域
build-system, devops, release
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
冷清
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。