Skip to content

Commit 9c26185

Browse files
peffgitster
authored andcommitted
ci: use regular action versions for linux32 job
The linux32 job runs inside a docker container with a 32-bit libc, etc. This breaks any GitHub Actions scripts that are implemented in javascript, because they ship with their own 64-bit version of Node.js that's dynamically linked. They'll fail with a message like: exec /__e/node20/bin/node: no such file or directory because they can't find the runtime linker. This hasn't been a problem until recently because we special-case older, non-javascript versions of these actions for the linux32 job. But it recently became an issue when our old version of actions/upload-artifact was deprecated, causing the job to fail. We worked around that in 90f2c72 (ci: remove 'Upload failed tests' directories' step from linux32 jobs, 2024-09-09), but it meant a loss of functionality for that job. And we may eventually run into the same deprecation problem with actions/checkout, which can't just be removed. We can solve the linking issue by installing the 64-bit libc and stdc++ packages before doing anything else. Coupled with the switch to a more recent image in the previous patch, that lets us remove the special-casing of the action scripts entirely. Signed-off-by: Jeff King <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 9ce2e99 commit 9c26185

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

.github/workflows/main.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -350,17 +350,17 @@ jobs:
350350
runs-on: ubuntu-latest
351351
container: ${{matrix.vector.image}}
352352
steps:
353-
- uses: actions/checkout@v4
354-
if: matrix.vector.jobname != 'linux32'
355-
- uses: actions/checkout@v1 # cannot be upgraded because Node.js Actions aren't supported in this container
353+
- name: prepare libc6 for actions
356354
if: matrix.vector.jobname == 'linux32'
355+
run: apt -q update && apt -q -y install libc6-amd64 lib64stdc++6
356+
- uses: actions/checkout@v4
357357
- run: ci/install-dependencies.sh
358358
- run: ci/run-build-and-tests.sh
359359
- name: print test failures
360360
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
361361
run: ci/print-test-failures.sh
362362
- name: Upload failed tests' directories
363-
if: failure() && env.FAILED_TEST_ARTIFACTS != '' && matrix.vector.jobname != 'linux32'
363+
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
364364
uses: actions/upload-artifact@v4
365365
with:
366366
name: failed-tests-${{matrix.vector.jobname}}

0 commit comments

Comments
 (0)