Automate multi-arch Docker releases for Ubuntu 24.04 and 26.04 - #17
Conversation
|
Imho should be targeted directly 26.04... or ask for node backport as requirement (18 is REALLY EOL) |
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
Follow-up: Node.js runtime alignmentI moved the container and CI runtime to the current supported Node.js LTS after GitHub's security checks rejected the Ubuntu 24.04 Node.js 18.19.1 line as EOL. Both Ubuntu images now pin Node.js This keeps the two Ubuntu base images separate while removing an EOL runtime from the release path. The update is in commit |
|
Follow-up: the first Node 24 switch exposed stale Ubuntu 24.04 checksum values in the real Docker build. I corrected them to the official Node.js 24.19.0 x64/arm64 hashes in The requested compatibility split is now explicit: Ubuntu 24.04 uses pinned Node.js One small confession: |
What this does
This adds an automated Docker release workflow for every strictly increasing stable version tag.
The workflow:
main;linux/amd64andlinux/arm64;18.19.1runtime on Ubuntu 24.04 for compatibility;24.19.0runtime on Ubuntu 26.04 and in the primary CI/release gates;Published image tags
For each stable
vX.Y.Ztag:<version>-ubuntu24.04andubuntu24.04;<version>-ubuntu26.04andubuntu26.04;<version>andlatest, both pointing to the Ubuntu 26.04 image.Every published tag is a multi-platform manifest for AMD64 and ARM64. Pull requests and branch pushes build and smoke-test the images without publishing them.
Why
The previous release workflow performed a native Docker build without declaring the target platforms. This made the published architecture depend on the runner and did not provide a reliable Ubuntu LTS or ARM64 release path.
This keeps Ubuntu 24.04 available with its requested Node.js 18.19.1 compatibility runtime while adding Ubuntu 26.04 with supported Node.js 24.19.0. Node.js 18 is EOL, so new deployments should prefer the Ubuntu 26.04 image; its compatibility check is intentionally non-blocking and does not weaken the Node 24 security/release gates.
Validation
npm ci --ignore-scriptsnpm run checknpm audit --omit=dev --audit-level=high18.19.1and24.19.08738f85: green in 3m 14s8738f85: green in 3m 16sThe branch remains ready for review.