-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
checkout@v3 using node20 instead of node16 #1809
Comments
Our team found that setting these before starting the runners get's things going again. Still unsure what's causing this.
|
I am having the same issue while running below versions, on ubuntu 20.04 VM:
Error:
Issue started today, i.e. 3 Jul 10am PDT. |
Hello! Our development team is also experiencing the same issue. We are using AWS instances as self-hosted. AWS AMI :
Git Action Error :
|
Following this blog post: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
I tried setting this inside a workflow running on GH hosted runners and it didn't work.
v4 always used Node 20
See above |
Fixed by renaming the cd $RUNNER_HOME/actions-runner/externals
mv node20 node20.bak
ln -s node16 node20 |
I tried modifying /home/runner/actions-runner/.env and env.sh and it works fine.
and adding their environment variables into 'varCheckList' array in env.sh.
Then restart runner service
|
Looks like this is happening because of: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ |
Quoting the post paragraph about that workaround: "This will only work until we upgrade the runner removing Node16 later in the spring" We are walking a tightrope. Just wanted to raise some awareness about that. Plan to actually upgrade your github actions in the short term or move away from them. E.g. I think I'll quit my job. 😄 |
My glibc version:
So why do I get this error? I am using checkout@v4.1.7. I do not understand what I have to do to upgrade. |
Here's a critical issue: Firstly, you shouldn't upgrade such fundamental environments arbitrarily. Even if you do upgrade, you must ensure the environment is correct. Upgrading to Node 20 and causing a glib error is absolutely unacceptable, especially in a product from a company like Microsoft. |
I wish there was an alternative version of the checkout action, maybe written in rust so we could just deploy a static binary. Then we would just compile that against a really old version of glibc. This would also simplify running GitHub Actions with nektos/act which does not map node into the container. Update: I found checkout-action in GitHub's market place and added support for private repos. Not sure if that is a permanent solution but at least our CI jobs are passing again... |
This means you now can't run any docker image that has a glibc older than 2.27. That includes:
What a huge f*ckup. I'm baffled by the amount of incompetence. What's wrong with providing a statically linked node binary? Do you need help with redistribution github? |
@Kobzol thank you for that link, your setup is the only thing that worked for me. |
It's working fine (only |
Adds an option to deal with the current glibc errors when running the tests. Issue was reported actions/checkout#1809 and solution comes from actions/checkout#1809 (comment)
Now adding it to the correct place. (issue actions/checkout#1809)
Adds an option to deal with the current glibc errors when running the tests. Issue was reported actions/checkout#1809 and solution comes from actions/checkout#1809 (comment)
Bypasses unsupported node versions check Node 16 is required to build linux binaries compatible with old distros (see #449) relates-to: actions/checkout#1809
Bypasses unsupported node versions check Node 16 is required to build linux binaries compatible with old distros (see #449) relates-to: actions/checkout#1809
…rosoft#5756) With changes from GitHub [finally deprecating](actions/checkout#1474) [node16 based runners](https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/) (which the checkout@v3 action uses) we need to make changes to support this. To do this, there are two changes. First we remove the python 3.6 check as with the changes in pydantic v2 that will be merged soon, we will be removing this check there, so we can more easily remove it now so that future PRs are cleaner and it is clear why some changes have been made. Second, node16 is the default on some of our self-hosted runners. To work around tests failing on these, we [set the GitHub env var to override this check](https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/). Other relevant links: actions/checkout#1474 https://github.com/easybuilders/easybuild-framework/pull/4574/files actions/checkout#1809 actions/runner#3373 actions/checkout#1809
has anyone tried to run the runner inside a docker container (which is easier to run node20 with)? |
Adds an option to deal with the current glibc errors when running the tests. Issue was reported actions/checkout#1809 and solution comes from actions/checkout#1809 (comment)
I'm (and I suspect others are) running the checkout action inside a Docker container that is specifically using an old glibc version. The problem is not how to use Node 20, but rather how not to use it. |
its the other way around for me, i have an old system that i cant update, but my actions are running directly on the host. could you point me to a guide or something for running the actions on a docker container? 🙏 |
i meant running the self hosted runner itself in a container |
The glibc version on ubuntu1804 and centos7 is lower than the node20 required, so we need to force the node version to 16 when running CI. See more details: actions/checkout#1809
We started to run into issues with node16 no longer being functional on the runner, with symptoms like actions/checkout#1809
Thanks for your workaround solution |
Running on rhel7 with self-hosted runners and starting today we're running into issues where @V3 is using node20 instead of node16.
Happening on runner versions 2.316.1 and 2.317.0.
Oddly some of our Repos don't run into this issue when executing checkout@v3 on the same runners.
Run actions/checkout@v3
/ci_storage_agent_1/actions-runner/externals/node20/bin/node: /lib64/libm.so.6: version
GLIBC_2.27' not found (required by /ci_storage_agent_1/actions-runner/externals/node20/bin/node) /ci_storage_agent_1/actions-runner/externals/node20/bin/node: /lib64/libstdc++.so.6: version
GLIBCXX_3.4.20' not found (required by /ci_storage_agent_1/actions-runner/externals/node20/bin/node)/ci_storage_agent_1/actions-runner/externals/node20/bin/node: /lib64/libstdc++.so.6: version
CXXABI_1.3.9' not found (required by /ci_storage_agent_1/actions-runner/externals/node20/bin/node) /ci_storage_agent_1/actions-runner/externals/node20/bin/node: /lib64/libstdc++.so.6: version
GLIBCXX_3.4.21' not found (required by /ci_storage_agent_1/actions-runner/externals/node20/bin/node)/ci_storage_agent_1/actions-runner/externals/node20/bin/node: /lib64/libc.so.6: version
GLIBC_2.28' not found (required by /ci_storage_agent_1/actions-runner/externals/node20/bin/node) /ci_storage_agent_1/actions-runner/externals/node20/bin/node: /lib64/libc.so.6: version
GLIBC_2.25' not found (required by /ci_storage_agent_1/actions-runner/externals/node20/bin/node)The text was updated successfully, but these errors were encountered: