Skip to content

Commit 6cf8e4b

Browse files
committed
chore(docker): update Dockerfiles to use node 24.18.0 and improve pnpm compatibility
- Updated both debian and debian-aarch64 Dockerfiles to use node:24.18.0-bookworm-slim as the base image. - Added a COPY command to transfer local binaries from the node-runtime stage. - Updated comments in npm.yml to clarify pnpm compatibility with Node.js 20.
1 parent 45704b8 commit 6cf8e4b

5 files changed

Lines changed: 645 additions & 615 deletions

File tree

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
FROM ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
22

33
RUN rm -rf target/aarch64-unknown-linux-gnu && \
4+
sed -i 's/node_20.x/node_24.x/' /etc/apt/sources.list.d/nodesource.list && \
45
apt-get update && \
5-
apt-get install -y gcc-aarch64-linux-gnu
6+
apt-get install -y --no-install-recommends gcc-aarch64-linux-gnu nodejs
67

78
RUN npm install -g corepack@latest && \
89
corepack enable
@@ -11,4 +12,4 @@ RUN mkdir -p ~/.cargo && \
1112
touch ~/.cargo/config.toml
1213

1314
RUN echo "[target.aarch64-unknown-linux-gnu]" > ~/.cargo/config.toml && \
14-
echo "linker = \"aarch64-linux-gnu-gcc\"" >> ~/.cargo/config.toml
15+
echo "linker = \"aarch64-linux-gnu-gcc\"" >> ~/.cargo/config.toml

.github/docker/debian.Dockerfile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
FROM ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
22

3-
RUN npm install -g corepack@latest && \
3+
RUN sed -i 's/node_20.x/node_24.x/' /etc/apt/sources.list.d/nodesource.list && \
4+
apt-get update && \
5+
apt-get install -y --no-install-recommends nodejs && \
6+
npm install -g corepack@latest && \
47
corepack enable

.github/workflows/npm.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ jobs:
136136
target: x86_64-apple-darwin
137137
architecture: x64
138138
node:
139-
# - '20.18.1' #Emittery v2 is not compatible with Node.js 20.
139+
# - '20.18.1' - pnpm 11 is not compatible with Node.js 20.
140140
- '22.22.1'
141141
- '24.18.0'
142142
#- '26.0.0' # Node.js 26 is not supported yet
@@ -185,7 +185,7 @@ jobs:
185185
settings:
186186
- target: x86_64-unknown-linux-gnu
187187
node:
188-
# - '20.18.1' #Emittery v2 is not compatible with Node.js 20.
188+
# - '20.18.1' - pnpm 11 is not compatible with Node.js 20.
189189
- '22.22.1'
190190
- '24.18.0'
191191
#- '26.0.0' # Node.js 26 is not supported yet
@@ -234,7 +234,7 @@ jobs:
234234
settings:
235235
- target: x86_64-unknown-linux-musl
236236
node:
237-
# - '20.18.1' #Emittery v2 is not compatible with Node.js 20.
237+
# - '20.18.1' - pnpm 11 is not compatible with Node.js 20.
238238
- '22.22.1'
239239
- '24.18.0'
240240
#- '26.0.0' # Node.js 26 is not supported yet
@@ -299,7 +299,7 @@ jobs:
299299
target: x86_64-unknown-linux-gnu
300300
architecture: x64
301301
node:
302-
- '20.18.1'
302+
# - '20.18.1' - pnpm 11 is not compatible with Node.js 20.
303303
- '22.22.1'
304304
- '24.18.0'
305305
runs-on: ${{ matrix.settings.host }}

0 commit comments

Comments
 (0)