actions / actions/runner

Github Actions Self-Hosted Runner issue with node 20

Open
#3,373 7 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Stale
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.