Skip to content

Commit ce1c6f3

Browse files
authored
Merge the "release/v1.2.4+node24.14.1" branch into the "maintenance/v1+node24" branch
This merge promotes `release/v1.2.4+node24.14.1` into `maintenance/v1+node24`, marking the next patch release on the Node.js 24 maintenance line. It consolidates one deployment workflow update in `.github/workflows/deployment.yml` that disables implicit Docker metadata tags and one documentation update in `README.md` aligning versioning examples, the builder-stage example, and the size badge with the current release conventions. In `.github/workflows/deployment.yml`, `Extract metadata (tags, labels)` now adds `flavor:` with `latest=false` so tag builds only emit the explicit version tag derived from `type=ref,event=tag`. `Normalize tag (match tag)` and `Normalize promote name (floating tag)` now add the same `flavor:` setting so manual promotion source and destination normalization only emit the explicit `workflow_dispatch` tag inputs. In `README.md`, the centered header size badge is updated from `~45MB` to `<50MB`; the Docker Hub, GHCR, and versioned `FROM runtimenode/runtime-node:...` examples are updated from `v<image_semver>+node<node_version>` to `v<major>.<minor>.<patch>-node<node_version>`; the versioned builder example is updated from `FROM node:<node_version>-alpine AS builder` to `FROM node:<node_version>-alpine3.23 AS builder`; and the Versioning and Tags section is updated from `v<image_semver>+node<node_version>` with example `v1.2.3+node24.14.1` to `v<major>.<minor>.<patch>+node<node_version>` with example `v1.2.4+node24.14.1`, with a new note explaining that `docker/metadata-action` normalizes `+` to `-` in published registry tags. No migration steps are required beyond updating to `v1.2.4+node24.14.1` on the `maintenance/v1+node24` line.
2 parents 4c200f7 + 68c7c27 commit ce1c6f3

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

.github/workflows/deployment.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ jobs:
9393
# Only create tags derived from the Git tag.
9494
# No floating tags (like "latest") are generated here.
9595
type=ref,event=tag
96+
flavor: |
97+
latest=false
9698
9799
# Authenticate to Docker Hub so the workflow can push images.
98100
- name: Login to Docker Hub
@@ -179,6 +181,8 @@ jobs:
179181
${{ env.GHCR_IMAGE }}
180182
tags: |
181183
type=raw,value=${{ github.event.inputs.tag }}
184+
flavor: |
185+
latest=false
182186
183187
# Extract only the tag portion from metadata-action output of the tag.
184188
- name: Extract normalized tag only
@@ -205,6 +209,8 @@ jobs:
205209
${{ env.GHCR_IMAGE }}
206210
tags: |
207211
type=raw,value=${{ github.event.inputs.promote_name }}
212+
flavor: |
213+
latest=false
208214
209215
# Extract only the promote name portion from metadata-action output of the floating tag.
210216
- name: Extract normalized promote tag

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
[![Docker Hub](https://img.shields.io/docker/pulls/runtimenode/runtime-node?label=Docker%20Hub)](https://hub.docker.com/r/runtimenode/runtime-node)
1111
[![GHCR](https://img.shields.io/badge/GHCR-ghcr.io%2FRuntimes--Node%2Fruntime--node-blue)](https://github.com/Runtimes-Node/Runtime-Node/pkgs/container/runtime-node)
1212
[![Platforms](https://img.shields.io/badge/platforms-linux%2Famd64%20%7C%20linux%2Farm64-lightgrey)](https://hub.docker.com/r/runtimenode/runtime-node)
13-
[![Size](https://img.shields.io/badge/size-%7E45MB-green)](https://hub.docker.com/r/runtimenode/runtime-node)
13+
[![Size](https://img.shields.io/badge/size-%3C50MB-green)](https://hub.docker.com/r/runtimenode/runtime-node)
1414
[![Vulnerabilities](https://img.shields.io/badge/vulnerabilities-0-brightgreen)](https://hub.docker.com/r/runtimenode/runtime-node)
1515

1616
</div>
@@ -70,7 +70,7 @@ These are the two primary size-focused official variants documented by the Node
7070

7171
```bash
7272
# Pull the versioned published tag
73-
docker pull runtimenode/runtime-node:v<image_semver>+node<node_version>
73+
docker pull runtimenode/runtime-node:v<major>.<minor>.<patch>-node<node_version>
7474
```
7575

7676
- Latest (Not Recommended for Production):
@@ -86,7 +86,7 @@ docker pull runtimenode/runtime-node:latest
8686

8787
```bash
8888
# Pull the versioned published tag
89-
docker pull ghcr.io/runtimes-node/runtime-node:v<image_semver>+node<node_version>
89+
docker pull ghcr.io/runtimes-node/runtime-node:v<major>.<minor>.<patch>-node<node_version>
9090
```
9191

9292
- Latest (Not Recommended for Production):
@@ -102,7 +102,7 @@ docker pull ghcr.io/runtimes-node/runtime-node:latest
102102

103103
```Dockerfile
104104
# Use the same Node.js version as your final runtime stage base image
105-
FROM node:<node_version>-alpine AS builder
105+
FROM node:<node_version>-alpine3.23 AS builder
106106

107107
WORKDIR /dist
108108

@@ -111,7 +111,7 @@ COPY ./ ./
111111
RUN npm ci --omit=dev --no-cache
112112

113113
# Use the same Node.js version as your builder stage base image
114-
FROM runtimenode/runtime-node:v<image_semver>+node<node_version>
114+
FROM runtimenode/runtime-node:v<major>.<minor>.<patch>-node<node_version>
115115

116116
# Copy your production build artifacts only
117117
COPY --from=builder --chmod=555 dist/ /app/
@@ -175,11 +175,13 @@ Applications that need a different timezone can set `TZ` at runtime (timezone da
175175
## Versioning and Tags
176176

177177
Tags follow the pattern:
178-
- `v<image_semver>+node<node_version>` (example: `v1.2.3+node24.14.1`)
178+
- `v<major>.<minor>.<patch>+node<node_version>` (example: `v1.2.4+node24.14.1`)
179179
- `latest` tracks the most recent release.
180180

181181
Check the GitHub Releases page for the current tag and Node.js version.
182182

183+
> Because of the `docker/metadata-action`, all tags with `+`, turns into `-` (example: GitHub Releases `v1.2.4+node24.14.1` then it becomes `v1.2.4-node24.14.1` in the Docker Hub and GitHub Container Registry)
184+
183185
## Security Posture
184186

185187
Runtime Node is built to minimize the attack surface:

0 commit comments

Comments
 (0)