Skip to content

build: modify stackbrew and CI to support Alphas - #2681

Open
nschonni wants to merge 1 commit into
nodejs:mainfrom
nschonni:stackbrew-alpha
Open

nschonni wants to merge 1 commit into
nodejs:mainfrom
nschonni:stackbrew-alpha

Conversation

@nschonni

Copy link
Copy Markdown
Member

Description

Includes changes from #2678 used to support the Alpha concept.

Motivation and Context

Testing Details

  1. Download the current stackbrew output from https://raw.githubusercontent.com/docker-library/official-images/refs/heads/master/library/node locally. I called mine stackbrew in the root of the folder
  2. Stage the downloaded file
  3. Run ./stackbrew.mjs stackbrew and compare the diff with the staged change. The first line should be changed, and there may be a blank line change at the end

Example Output(if appropriate)

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.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING.md document.
  • All new and existing tests passed.

@nschonni nschonni changed the title Stackbrew alpha build: modify stackbrew and CI to support Alphas Oct 31, 2026
Comment thread stackbrew.mjs

if (isAlpha) {
// Only push explicit variants during the Alpha phase
tags = [`${nodejsOrgReleaseInfo.version.substring(1)}-${variant}`];

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

note sure if some of the other combos of floating variants should also be added like:

  • alpha for the default Debian
  • alpha-slim for the default Debian-slim
  • alpha-alpine for whatever is the default Alpine during the Alpha
    Could skip the various alpha-trixie, etc though

@MikeMcC399

Copy link
Copy Markdown
Contributor

Going back on what I originally suggested about separating this out, I'm now suggesting we go ahead with #2678 to get a set of 27.0.0-alpha.0.0.0 images with pinned tags published.

Regarding the floating tags, I'm working on a suggestion that would show the phased progression from Node.js 27 Alpha through to Node.js 28 Alpha.

I'm not in favor of introducing a new floating tag based on alpha because of its limited lifetime. I think that would only make sense if the upstream images for Alpha were coming from a different location, separate from the non-alpha images.

This is a new area also for the upstream Node.js repo, and there are still a lot of things which haven't been thought through in detail and are still evolving.

I will soon come back to this topic.

Thanks for all your efforts here!

@MikeMcC399

Copy link
Copy Markdown
Contributor

I'm stumbling at the moment over non-Docker issues related to Alpha. There are mismatches between the aliases like latest that are being used.

I'm thinking at the moment about suggesting next as an alias for Docker that would point to Alpha during the Alpha phase and converge on the regular release later. Alternatively 27-latest could serve the same purpose, initially pointing to Alpha then later to the regular 27.x release.

I'm looking at what the others are doing first before I'm ready to suggest one way or another. It would be good to align if possible. Alpha users should have some simple way of keeping up-to-date with Alpha releases. Other users who don't want to be using unstable Alpha releases shouldn't end up accidently installing them.

@nschonni

nschonni commented Nov 2, 2026

Copy link
Copy Markdown
Member Author

For the Docker side, I usually just start looking to see what the others are doing in https://github.com/docker-library. But then that still needs to be evaluated to see if it really is a good practice with the Hub people. I don't think there will be a common approach between the Node.js and Docker communities in either case.

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.

2 participants