-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.28' not found (required by /__e/node20/bin/node)`
#1590
Comments
I also have this problem on Ubuntu 22.04 (see https://github.com/briandfoy/data-constraint/actions/runs/7645971689/job/20833756885 while it is around).
|
I have the same issue when trying to use ubuntu:18.04 image |
See actions/checkout#1590 Signed-off-by: falkTX <falktx@falktx.com>
Similarly the |
See actions/checkout#1590 Signed-off-by: falkTX <falktx@falktx.com>
I have the same problem with checkout@v4 with running CI on ubuntu:16.04 and ubuntu:18.04 docker images:
https://github.com/Lastique/scope/actions/runs/7754629439/job/21148329132
https://github.com/Lastique/scope/actions/runs/7754629439/job/21148329685 These older Ubuntu images are needed to be able to test older compiler versions. Until this issue is resolved, please remove the deprecation notice for checkout@v3, as there simply is no alternative. |
…ngs." This reverts commit a8750d5. checkout@v4 doesn't work on ubuntu:16.04 and ubuntu:18.04 images: actions/checkout#1590
note that it is not just the checkout being broken, anything that uses node is broken which includes cache and artifacts. basically all the v4 actions from github are broken for older distros due to glibc requirements |
basically all the v4 actions from github are broken for older distros due to glibc requirements
Yes. I've noticed. Obviously this was the first one I diagnosed, so it got the issue :)
|
Same problem in ubuntu 18 |
Anyone found a workaround for this? Or know why it started happening? |
the workaround is to keep using v3 actions. and it happens because github devs updated the base system where their node stack is built from. seeing the way github has handled other issues, I expect this one to just be ignored completely. |
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4 is not functional because of the upstream bug: actions/checkout#1590
I ran into this bug for some CI tests and I implemented a workaround. We basically built (but did not push) a docker image and ran the CI tests inside of the docker build. If the CI tests passed, then the docker build was successful. If the CI tests failed, then the docker build failed. In this way we got around the node js version limitations for actions/checkout. |
i use container to test build on old compiler, but when use checkout action i take the error about nodejs. |
…rors. GitHub actions/checkout@v3 is no longer working and v4 is incompatible with older Linux versions due to actions/checkout#1590. To fix this, and permanently eliminate the issue of periodic deprecation of actions/checkout, replace it with manual downloads of git snapshots using curl. Additionally, fixed apt command lines that would incorrectly expand the list of packages to install. Added options to retry on network errors to reduce the probability of spurious CI failures. Also added git checkout parallel jobs to potentially speed up the checkout. This should fix CI failures with actions/checkout@v3 and eliminate GHA deprecation warnings.
I used as workaround this step action that allows to run a container in a step: docker-run-action. You can do the checkout with |
The workaround to use an old Node version no longer works: actions/checkout#1590
The workaround to use an old Node version no longer works: actions/checkout#1590
We fixed this issue by using the checkout action on Ubuntu 20.04, and modified the tests to use docker run -v /code:/work centos:7 bash -C "xxx". |
gr8 workaround. |
Thanks, but your example is unavailable, can you check? |
sorry, changed visibility to public |
It appears to me that we've reached the "some point" where this stops working. In the most recent GitHub Actions runner release, the minimum |
OK, that works well for a simple script, but what about an actual build with lots of files using gcc/g++? Anyone have a working ci.yml that uses this approach? |
Below is the best method that I've found so far, which works reasonably well and does not depend on any third-party action: name: Ubuntu 18.04 Build
on: [push, pull_request]
env:
CONTAINER: ubuntu:18.04
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# We manually start a container and execute scripts in it instead of using `jobs.build.container`,
# otherwise we couldn't use GitHub-provided actions (checkout, cache, etc.) as they rely on Node20
# which would not necessarily be available on some containers (e.g., Ubuntu 18.04).
#
# See: https://github.com/actions/checkout/issues/1590
#
# If you need to pass environment variables from the GitHub host runner to the Docker container,
# you can do so by adding `-e MY_VAR` to the docker run command, for example:
#
# docker run --name build-container -d -e GITHUB_REPOSITORY -v ...
#
- name: Start Docker Container
run: |
docker pull $CONTAINER
docker run --name build-container -d -v ${{ github.workspace }}:/workspace $CONTAINER tail -f /dev/null
- name: Install Dependencies
env:
SCRIPT: |
apt-get update
apt-get install -y cmake build-essential libfreetype6-dev libharfbuzz-dev
run: docker exec build-container bash -c "$SCRIPT"
- name: Build
env:
SCRIPT: |
cd /workspace && mkdir build && cd build
cmake --version
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
run: docker exec build-container bash -c "$SCRIPT" Here is a more complex example of how I have successfully ported one of my build to this method: I have other examples here: Good luck everyone! |
@dalboris wrote:
Thank you so much! I think I see the path forward now for fixing our CI builds on older systems. |
Using
container:
image: debian:bullseye
to build the OpenJDK for an older release of a distro (Debian in this case, but this isn't specific to Debian) causes a failure due tonode
in theactions/checkout@v4
docker image to fail to run due to the container having an older glibc:(Using build tools that depend on newer glibc versions seems likely to be a common pitfall for GitHub Actions.)
The text was updated successfully, but these errors were encountered: