Composite Actions using Node 20 don't work with CentOS 7
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 1.4k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 24
Description
Problem
As mentioned in the GitHub blog post below, Actions is currently transitioning from Node 16 to Node 20.
However, Node 20 seems to be incompatible with CentOS 7, which is listed as a compatible OS for self-hosted runners below:
This incompatibility seems to stem from the fact that NodeJS version 20 supports glibc >=2.28 (as seen in the link below), but CentOS 7 only has glibc==2.17.
The consequence of this is that composite actions that have been updated to use Node 20 no longer work with CentOS 7 host machines or containers.
Here is an example of the error message that results from trying to run a composite action using Node 20 on a CentOS 7 container:
As a result of this incompatibility, we've had to intentionally downgrade our composite actions to a version that uses Node 16 so that our workflows continue to work.
To Reproduce
Run the following workflow to exhibit the error message
name: centos7
on:
push:
jobs:
run:
runs-on: ubuntu-latest
container: centos:7
steps:
- uses: actions/checkout@v4
- run: echo "hello, world"
Expected behavior
Since the documentation below states that self-hosted runners support CentOS 7, I would expect the above workflow to run to completion without any errors
Runner Version and Platform
Ubuntu 22.04, runner version 2.309.0
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 by running the supplied GitHub Actions workflow with a CentOS 7 container and compare the failure with the Node 20/Node 16 transition described in the issue. Trace the runner's composite-action execution path; done means the workflow completes on CentOS 7 while Node 20-based composite actions remain usable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- centos, github-actions, nodejs
- Domain
- ci-cd, devops, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100