Skip to content

Alpine Linux arm64 Tier 2 support #66394

Description

@MikeMcC399

Refs: #62764
Refs: #63737
Refs: nodejs/docker-node#2011

What do you want

Support arm64 / musl as Tier 2 for Alpine Linux.

This would include adding an arm64 / musl entry for Tier 2 support type to BUILDING > Platform list so that Alpine Linux on arm64 is marked as supported.

The table currently covers x64 / musl only, relating to Alpine Linux.

Operating System Architectures Versions Support Type Notes
GNU/Linux x64 kernel >= 6.12, musl >= 1.2.5 Tier 2 e.g. Alpine 3.22

An additional entry for arm64 / musl would imply also additional testing of Node.js releases for this architecture combination. It also would need additional builds covering linux-arm64-musl to be published:

Why is it needed

The promotion of x64 / musl builds for Alpine Linux from Experimental to Tier 2 (#63737) significantly improves the status and usage of musl builds, included in Node.js Docker images. The Node.js Docker README documentation section Supported architectures describes the current supportability status of Node.js Docker images (Tier 1 / 2 / Experimental).

There remains however the mismatch of publishing Node.js Docker images to the Docker official images hub when these are based on Alpine Linux and built for arm64 with "Experimental" support. This is an open issue described in nodejs/docker-node#2011. The documentation page https://hub.docker.com/_/node#image-variants fails to mention any gap in supportability. As the issue describes, there is a reasonable assumption by users that "official" implies "supported".

This gap needs to be closed so that arm64 / musl = Tier 2 supported = official.

Node.js Docker images for Alpine Linux arm64 are built in the https://github.com/docker-library/official-images environment from Node.js source code using the corresponding node-v<version>.tar.xz tarball from https://nodejs.org/dist. These images are not tested with the full Node.js test suite.

Impact / Risks

Currently infrastructure in the Jenkins https://ci.nodejs.org/ CI environment is not available for testing this combination. Extending the capabilities would be a hardware / funding / support resource issue.

Adding a supported platform also increases the load on releasers to ensure compatibility before release.

The risk of delaying releases due to incompatibility is also increased.

Expansion of support to cover arm64 / musl may not be possible short-term.

This issue should be viewed as a placeholder, without any implication that it will be feasible.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    alpineIssues and PRs related to the Alpine Linux platform.feature requestIssues requesting new Node.js features.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions