Skip to content

Drop s390x from Node 25+ Alpine images#2462

Draft
sxa wants to merge 1 commit intonodejs:mainfrom
sxa:remove_alpine_s390x
Draft

Drop s390x from Node 25+ Alpine images#2462
sxa wants to merge 1 commit intonodejs:mainfrom
sxa:remove_alpine_s390x

Conversation

@sxa
Copy link
Copy Markdown
Member

@sxa sxa commented Apr 15, 2026

Description

Stop publishing docker images for Alpine on the s390x architecture

Motivation and Context

Alpine in general is an experimental platform and is only built in our infrastructure as part of the unofficial-builds project. Additionally, unofficial builds only covers x64 and arm64 architectures, so others are arguably a lower level of support below those experimental platforms which is where Alpine/s390x lies. Since they are not built in the unofficial builds project, the Alpine/s390x node binaries are built by compiling the code on the fly when the docker image is built. (EDIT: As per nschonni's comment below arm64 is also done on the fly due to the lack of checksum in the dockerfiles for anything other than x64) Because of this, I'm not overly comfortable with having these declared as "official" docker images.

We do not currently have explicit download statistics for the Alpine/s390x official dockerhub images (@tianon @yosifkit can we get a breakdown by platform somehow? (Feel free to contact me privately if you'd prefer not to discuss in this issue)

For this reason, and by way of precedent we also removed Alpine/ppc64le by @nschonni) which is likely at a similar usage level some time ago due to a build break at the time without too much pushback (Noting nodejs/help#5141 recently!) so I would expect Alpine/s390x to be similar.

Testing Details

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.

Alternate options

  • Add it to unofficial-builds and use the binary from there as per Alpine on x64 and arm64 (Would need someone willing to maintain it there)
  • Re-enable Alpine/ppc64le to bring it in sync with what Alpine/s390x currently does as I believe it does now build (Since there hasn't been much pushback from removing it this doesn't quite feel right with the information we currently have.
  • Push this, and any other experimental platforms, to an unofficial dockerhub repository
  • Promote Alpine to be a non-experimental platform. While this may happen, I feel it's unlikely that we would include ppc64le or s390x there.

Notes

Leaving as draft for now so this can be discussed before merging, although I'd like to make sure we do not add it for v26. This PR currently only targets node25 although it could be done for earlier versions too (to put it in line with Alpine/ppc64le) depending on feedback.

Noting also that the functionality to build within the images could be removed if this change gets accepted.

Signed-off-by: Stewart X Addison <sxa@ibm.com>
@nschonni
Copy link
Copy Markdown
Member

nschonni commented Apr 15, 2026

Although unoffical-builds does produce an arm64 binary, it is not used by the images here. I think mixed among the recent-ish discussions was whether we should just drop even that pre-built, and just use the Docker infrastructure for all the Alpine variants.

I'm +0 on dropping the x390, since you might have more visibility into the general support for that combo from your previous IBM role.

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