Skip to content

Document and implement strategy when musl releases (for Alpine) are missing #2363

@MikeMcC399

Description

@MikeMcC399

Situation

Missing / delayed musl builds from https://unofficial-builds.nodejs.org/download/release/, required to build Node.js Docker images for Alpine Linux releases, are causing delays in the release of Debian-based Node.js Docker images.

Refs:
#2355
#2343
#2330

Background

https://github.com/nodejs/node/blob/main/BUILDING.md#strategy states:


There are three support tiers:

  • Tier 1: These platforms represent the majority of Node.js users. The
    Node.js Build Working Group maintains infrastructure for full test coverage.
    Test failures on tier 1 platforms will block releases.
  • Tier 2: These platforms represent smaller segments of the Node.js user
    base. The Node.js Build Working Group maintains infrastructure for full test
    coverage. Test failures on tier 2 platforms will block releases.
    Infrastructure issues may delay the release of binaries for these platforms.
  • Experimental: May not compile or test suite may not pass. The core team
    does not create releases for these platforms. Test failures on experimental
    platforms do not block releases. Contributions to improve support for these
    platforms are welcome.

Since musl builds belong to the Experimental category, the statement "Test failures on experimental platforms do not block releases." applies to the corresponding upstream Node.js release.

https://github.com/nodejs/unofficial-builds also states:

This project is experimental: its output is not guaranteed to remain consistent and its existence is not guaranteed into the future.

Suggestion

Based on the above, the release of Tier 1 Node.js Debian-based Docker images should not depend on the availability of Experimental Node.js musl releases.

  1. Document the strategy for handling delayed upstream Node.js releases that are missing platforms in the Experimental category:

    For instance, add one of the following statement to the README:

    Non-availability of Experimental Node.js musl releases does not block the release of Debian-based Node.js Docker images

    or generically:

    Non-availability of Node.js releases for Experimental platforms defined in the Node.js platform list does not block the release of Docker images based on Tier 1 or 2 Node.js Docker platforms.

    This would apply to both security and non-security releases.

  2. Implement the strategy
    The following are PR proposals for handling security releases only:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions