Skip to content

Commit 697fe32

Browse files
committed
ci(build): shadow /__e/node24 with glibc-2.17 Node 20 in manylinux2014
GitHub's runner now forces actions/checkout onto Node 24, which needs glibc >= 2.28; the manylinux2014_x86_64 container is glibc 2.17, so the stock /__e/node24 binary aborts with GLIBC_2.27/2.28 not found and the checkout step fails. There is no glibc-2.17 build of Node 24, so reuse the glibc-2.17 Node 20 binary for the node24 path too -- bind-mount /node20217 over /__e/node24 as well. checkout's JS runs fine on it.
1 parent 929faa7 commit 697fe32

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

.github/workflows/maven_central_release.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,9 +226,16 @@ jobs:
226226
timeout-minutes: 60
227227
container:
228228
image: quay.io/pypa/manylinux2014_x86_64
229+
# GitHub's runner now forces JS actions (actions/checkout) onto Node 24, but
230+
# Node 24 needs glibc >= 2.28 while this container is glibc 2.17 -- the stock
231+
# /__e/node24 binary aborts with `GLIBC_2.27'/`GLIBC_2.28' not found`. There is
232+
# no glibc-2.17 build of Node 24, so shadow BOTH /__e/node20 AND /__e/node24
233+
# with the glibc-2.17 Node 20 binary installed below; checkout's JS runs fine
234+
# on it regardless of the runtime the runner advertises.
229235
volumes:
230236
- /node20217:/node20217
231237
- /node20217:/__e/node20
238+
- /node20217:/__e/node24
232239
steps:
233240
- name: Install tools
234241
run: |
@@ -242,11 +249,14 @@ jobs:
242249
rpmbuild --rebuild ./nasm-2.16.03-0.fc39.src.rpm
243250
rpm -i ~/rpmbuild/RPMS/x86_64/nasm-2.16.03-0.el7.x86_64.rpm
244251
245-
- name: Install Node.js 20 glibc2.17
252+
- name: Install Node.js 20 glibc2.17 (shadows /__e/node20 and /__e/node24)
246253
run: |
247254
curl -LO https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
248255
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
256+
# The same /node20217 source is bind-mounted over both runtime paths, so the
257+
# glibc-2.17 binary is what runs whether the runner picks node20 or node24.
249258
ldd /__e/node20/bin/node
259+
ldd /__e/node24/bin/node
250260
251261
- name: Check out release source
252262
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1

0 commit comments

Comments
 (0)