Github Actions Self-Hosted Runner issue with node 20
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 1.4k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 24
Description
Describe the bug
I am running Github Actions Self Hosted Runner on a Ubuntu VM:
~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
I am running Actions Runner version 2.317.0
In the context of the notice by the Github team: Notice
I am using the GitHub Actions:
jobs:
my-job:
runs-on: [my-ubuntu]
timeout-minutes: 120
container:
image: my-image-path:latest
credentials:
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
steps:
- name: Checkout Source Code
uses: actions/checkout@v4.1.7
But when the job executes, I get this Error in the Job logs:
/usr/bin/docker exec XXXX sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
On the Ubuntu VM, I have node installed already, and it is running as expected; not sure why the runner is complaining about not being able to run node 20
# Self-Hosted Runner Ubuntu 20.04
$ node -v
v20.15.0
Additional info:
$ ldd --version
ldd (Ubuntu GLIBC 2.31-0ubuntu9.16) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
Currently to circumvent the downtime of CI, I am running the scripts as below:
bash -c 'ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true run.sh' > nohup.out 2>&1 &
## and github actions
steps:
- name: Checkout Source Code
uses: actions/checkout@v3
To Reproduce
Provided in the description.
Expected behavior
Since node version v20.15.0 is already running on the ubuntu VM, the runner should not have issues with running with node20
Runner Version and Platform
Github runner version 2.317.0
~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
OS of the machine running the runner?
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
What's not working?
Provided in description.
Job Log Output
Run actions/checkout@v4.1.7
/usr/bin/docker exec 7ac705625cb4517179f0c29eb36101b7221b70f40f0d76ede8fcbdad305a8012 sh -c "cat /etc/*release | grep ^ID"
/__e/node[20](https://github.com/Roche-DIA-RDS-CSI/bio-nlp-py/actions/runs/9799219159/job/27061796743#step:3:21)/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
Runner and Worker's Diagnostic Logs
None
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the runner version 2.317.0, the container job configuration, and the actions/checkout@v4.1.7 job log showing /__e/node20/bin/node and the GLIBC_2.28 error. Reproduce the workflow on Ubuntu 20.04 with the listed container image, then determine why the runner's Node 20 execution differs from the host Node installation; done means the cause and an appropriate runner behavior or documented requirement are established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, github-actions, node.js, ubuntu
- Domain
- ci-cd, devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100