Skip to content

Github Actions Self-Hosted Runner issue with node 20 #3373

Closed as not planned
Closed as not planned

Description

@biswalc

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/[email protected]

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/[email protected]
/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

Activity

  1. hardikns commented on Jul 5, 2024

    @hardikns

    Same issue here with self-hosted runner. I am still running checkout@v2 and still its failing for node20.

    is it something to do with https://github.com/actions/runner/releases/tag/v2.317.0?

  2. Bercon commented on Jul 5, 2024

    @Bercon

    Dropping support for official ubuntu:18.04 docker image is unfortunate and https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ only lists ubuntu:16.04 as unsupported

    Are there plans to fix the ubuntu:18.04 support?

  3. eli-schwartz commented on Jul 5, 2024

    @eli-schwartz

    Since node-based actions spread into containers, it seems very unwise to allow the node interpreter to rely on software inside the container. That appears to be the root of this mismatch. A container may contain older glibc which breaks things as basic as actions/checkout, which can leave users pretty trapped.

    Node should instead be:

    • built statically, so it doesn't care about the libc inside the container.
    • Alternatively, make sure to build it in a special build environment specifically for node, which uses a very old glibc version so that it is compatible with a wide range of glibc versions, and document the minimum glibc requirement for using container:
  4. eli-schwartz commented on Jul 22, 2024

    @eli-schwartz

    It appears this has actually been proposed in #3128 back in February.

  5. TheDistroHopper commented on Nov 27, 2024

    @TheDistroHopper

    Setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION has stopped working for me.
    I am still on checkout@v2

  6. TheDistroHopper commented on Nov 27, 2024

    @TheDistroHopper

    Setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION has stopped working for me. I am still on checkout@v2

    The latest release has removed node16 support - #3503

  7. added a commit that references this issue on Dec 10, 2024
  8. added a commit that references this issue on Dec 15, 2024
  9. added a commit that references this issue on May 1, 2025
  10. github-actions commented on Aug 31, 2026

    @github-actions
    Contributor

    This issue is stale because it has been open 365 days with no activity. Remove stale label or comment or this will be closed in 15 days.

  11. github-actions commented on Sep 21, 2026

    @github-actions
    Contributor

    This issue was closed because it has been stalled for 15 days with no activity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    StalebugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions