update the manylinux wheel glibc version to 2.28 (cherry-pick of #21650) #21754
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While trying to land #21528 to was observed that the wheel building jobs were failing during git checkout with wonderful errors like
/__e/node20/bin/node: /lib64/libm.so.6: version
GLIBC_2.27' not found (required by /__e/node20/bin/node). This appears to be the same symptoms as https://github.com/actions/checkout/issues/1809 which pointed the the deprecation notice at <https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/>. If this all sounds familiar that is because we *mostly* cleaned this up in #21133, but kept a fewer uses of the older actions for
manylinux2014` compatibility. However, from the notice:"To opt out of this and continue using Node16 while it is still available in the runner, you can choose to set
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true
as an ‘env’ in their workflow or as an environment variable on your runner machine. This will only work until we upgrade the runner removing Node16 later in the spring. (emphasis added)"
From the wheel job failures during #21528 and my attempts to fiddle with all of
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION
,ACTIONS_RUNNER_FORCED_INTERNAL_NODE_VERSION
,ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION
I think the removal time promised for the Spring has finally come, but I'm not that familiar with GitHub Actions and could be missing something.As a consequence the version of both
actions/upload-artifacts
andactions/checkout
is bumped tov4
. To make this testable now and in the future, wheels are now build on ci config changes.Why is bumping to
manylinux_2_28
(the next oldest manylinux) not a big deal? The "2.28" refers to glibc2.28 in 2018. That is older than Debian stable and if you need to use software that old you are presumably paying someone for an enterprise distribution.
NOTE: I think we should bump the manylinux version in
main
regardless, but if my read if the situation is correct we may need to backport this any active release line. Without this or a more complex change we would also be unable to release after December 5th per #21616.ref #21195 #21616