Skip to content
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

GHA: Checkouts are failing due to node too new for glibc #738

Closed
endgame opened this issue Jul 4, 2024 · 12 comments
Closed

GHA: Checkouts are failing due to node too new for glibc #738

endgame opened this issue Jul 4, 2024 · 12 comments

Comments

@endgame
Copy link

endgame commented Jul 4, 2024

The actions/checkout@v3 of a generated GHA workflow fails with:

/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)

This is because of actions/checkout#1809, which updated the node version used by the checkout action. The generated workflows are still using ubuntu-20.04.

It might be time to upgrade the runners to at least ubuntu-22.04 and possibly also use a newer version of the buildpack-deps container? (it's currently on bionic, i.e., 18.04)

@endgame endgame changed the title Checkouts are failing due to node/ubuntu incompatibility GHA: Checkouts are failing due to node too new for glibc Jul 4, 2024
@endgame
Copy link
Author

endgame commented Jul 4, 2024

I have manually updated a test workflow to use an ubuntu-22.04 runner (which did nothing but should happen anyway) and changed the container to buildpack-deps:jammy (which did make the checkout step run successfully).

The workflow in question is currently private but did successfully complete for GHCs 8.10.7, 9.0.2, 9.2.4, 9.4.5, 9.6.4, and 9.8.2, so I think it's a safe change.

@phadej
Copy link
Collaborator

phadej commented Jul 5, 2024

buildpack-deps:jammy

The default distribution (i.e. container) used is jammy (i.e. container)

& field @"cfgUbuntu" .~ Jammy
. I'm confused, what is happening. Please link to a reproducer (commit and GHA run).

@hasufell
Copy link
Contributor

hasufell commented Jul 5, 2024

GitHub is incompetent. All docker images that use a glibc older than 2.27 are now broken.

@phadej
Copy link
Collaborator

phadej commented Jul 5, 2024

Glibc 2.28 was released on 1 Aug 2018. For a freely available service, I wouldn't complain too much. Upgrade and move on.

@hasufell
Copy link
Contributor

hasufell commented Jul 5, 2024

Glibc 2.28 was released on 1 Aug 2018. For a freely available service, I wouldn't complain too much. Upgrade and move on.

Upgrade end users systems? Aha.

@phadej
Copy link
Collaborator

phadej commented Jul 5, 2024

@hasufell

e.g. ubuntu focal (20.04) comes with glibc-2.31. and Ubuntu-18.04 end of support was a year ago, in June 2023. If you are still using Ubuntu-18.04, then yes, I'd say you should upgrade.

So I don't know what is the issue OP has. haskell-ci uses checkout@v4 for few months already, and the default docker image is jammy. so they are not using the recent version.

@hasufell
Copy link
Contributor

hasufell commented Jul 5, 2024

e.g. ubuntu focal (20.04) comes with glibc-2.31. and Ubuntu-18.04 end of support was a year ago, in June 2023. If you use Ubuntu-18.04, then yes, I'd say you should upgrade.

Both 18.04 and 16.04 are under "Extended Security Maintenance", so they're still supported: https://ubuntu.com/about/release-cycle

@phadej
Copy link
Collaborator

phadej commented Jul 5, 2024

@hasufell, so is 16.04 ESM is still going on for almost two years, so what?

The standard support has ended, period.

@endgame
Copy link
Author

endgame commented Jul 5, 2024

buildpack-deps:jammy

The default distribution (i.e. container) used is jammy (i.e. container)

& field @"cfgUbuntu" .~ Jammy

. I'm confused, what is happening. Please link to a reproducer (commit and GHA run).

The latest version on Hackage (0.18.1) doesn't include this file, and indeed uses an old distribution by default:

(using the 0.18.1 sdist from Hackage)
[~/haskell-ci-0.18.1]$ cabal run haskell-ci -- dump-config | grep distribution
-- distribution version (xenial, bionic, focal, jammy)
distribution: bionic

So if HEAD already has a fix for this, then the change to the distribution name in #739 is wrong and all that's needed is a new Hackage release? I can rebase that to only change the runner ubuntu version, if you want to change that before the next version goes to Hackage. But it seems that the latest Hackage release is generating broken configs, so it probably warrants a new release soon.

@sgraf812
Copy link

Confirming that the CI workflow generated for happy is affected as well, even if re-generated with the most recent released version 0.18.1.

@phadej
Copy link
Collaborator

phadej commented Jul 12, 2024

Issue is fixed in master. There is no ETA for Hackage release.

@endgame
Copy link
Author

endgame commented Jul 12, 2024

That means the latest public release of haskell-ci is generating broken configurations by default, and there's no ETA for when that will be remedied. For anyone else visiting this issue, try overriding the container distribution by creating cabal.haskell-ci with the following contents, and running haskell-ci regenerate:

distribution: jammy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants