Skip to content

chore: remove unofficial-builds dependency - #2649

Merged
nschonni merged 1 commit into
nodejs:mainfrom
MikeMcC399:no-unofficial-builds
Oct 9, 2026
Merged

nschonni merged 1 commit into
nodejs:mainfrom
MikeMcC399:no-unofficial-builds

Conversation

@MikeMcC399

Copy link
Copy Markdown
Contributor

Description

  1. Stop querying https://unofficial-builds.nodejs.org for the availability of a musl build. linux-x64-musl is now sourced from https://nodejs.org/dist
  2. Remove the -s (security) option from ./update.sh which allowed updating Dockerfile instances even if the corresponding unofficial musl build was unavailable

Motivation and Context

PR #2621 updated the Dockerfile-alpine.template to pull the linux-x64-musl build from the official site https://nodejs.org/dist instead of from https://unofficial-builds.nodejs.org/download/release

The official linux-x64-musl build is immediately available together with builds for other platforms and architectures when a Node.js release has been declared promoted.

Polling the unofficial site for availability of a musl build is no longer relevant. It also leads to unnecessary delays.

There is also no longer a need to handle security and non-security releases differently. Previously, security releases didn't wait for musl build availability so that they could be expedited. Security releases can now proceed immediately with an Alpine build without any wait.

Testing Details

update.sh

Execute each of the examples. Use git restore . between each test.

./update.sh -h # outputs help
./update.sh # updates 22 & 24 Docker files (26 is already using official musl build)
./update.sh 22,24 # updates 22 & 24 Docker files (26 is already using official musl build)
./update.sh 24 alpine3.23,alpine3.24  # update only selected subset
./update.sh . trixie,trixie-slim # updates trixie* for 22 & 24

Confirm removed -s option is rejected:

./update.sh -s

Outputs illegal option -- s

build-automation.mjs

There is no offline test available for build-automation.mjs.

Checkout 6b8944cb before Node.js 26.11.0 was released, cherry-pick the commit from this PR and run the workflow .github/workflows/automatic-updates.yml with git diff.

Types of changes

  • Documentation
  • Version change (Update, remove or add more Node.js versions)
  • Variant change (Update, remove or add more variants, or versions of variants)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Other (none of the above)

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation. - will submit separately
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING.md document.
  • All new and existing tests passed.

Remove query of https://unofficial-builds.nodejs.org
Incorporate musl into security builds
Remove update.sh security build switch
Update documentation

Signed-off-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
@MikeMcC399 MikeMcC399 added alpine Alpine operating system build process labels Oct 9, 2026
@MikeMcC399 MikeMcC399 self-assigned this Oct 9, 2026
@MikeMcC399
MikeMcC399 marked this pull request as ready for review October 9, 2026 07:03
@MikeMcC399
MikeMcC399 requested review from nschonni and sxa October 9, 2026 07:04

@sxa sxa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Part of me wants to say leave it in just in case we want it in the future but in reality that doesn't really make any sense. The less dependency that anything in the release process has on unofficial builds the better.

If we ever do need to generate images from unofficial builds in the future then we should publish them somewhere else outside the "docker official builds" process.

@nschonni nschonni left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks! I think this is the parts I had tried stripping out before (and more).
I think I had one other part as part of one of the re-writes so we could execute locally, but it doesn't make sense to try to introduce that here. I'll try and rebase some of those other rewrite PRs again (but also feel free to suggest/push to those)

@nschonni
nschonni merged commit feeba25 into nodejs:main Oct 9, 2026
5 checks passed
@MikeMcC399
MikeMcC399 deleted the no-unofficial-builds branch October 9, 2026 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

alpine Alpine operating system build process

Projects

None yet

Development

Successfully merging this pull request may close these issues.

build-automation waits for unused musl builds from unofficial-builds

3 participants