codecov-action
codecov-action copied to clipboard
CodeCov Action fails on RHEL 8.5
When running v4 of this action on RHEL 8.5, the process fails with a glibc versioning error. https://github.com/firedancer-io/firedancer/actions/runs/7817585998/job/21325836763#step:9:2
==> linux OS detected
https://cli.codecov.io/latest/linux/codecov.SHA256SUM
==> Running version latest
gpg: key 806BB28AED779869: "Codecov Uploader (Codecov Uploader Verification Key) <[email protected]>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
gpg: Signature made Fri 02 Feb 20[24](https://github.com/firedancer-io/firedancer/actions/runs/7817585998/job/21325836763#step:9:25) 02:15:33 PM UTC
gpg: using RSA key 27034E7FDB850E0BBC2C62FF806BB28AED779869
gpg: Good signature from "Codecov Uploader (Codecov Uploader Verification Key) <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2703 4E7F DB85 0E0B BC2C 62FF 806B B28A ED77 9869
==> Running version v0.4.6
==> Running command '/opt/runner/_work/_actions/codecov/codecov-action/v4/dist/codecov create-commit'
/opt/runner/_work/_actions/codecov/codecov-action/v4/dist/codecov create-commit
==> Uploader SHASUM verified (103bfefcc56f76473179e600b96eb8150b0f349ad94836b0f63f03ffac469ad7 codecov)
[836697] Error loading Python lib '/tmp/_MEILlwDSO/libpython3.11.so.1.0': dlopen: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/_MEILlwDSO/libpython3.11.so.1.0)
Warning: Codecov: Failed to properly create commit: The process '/opt/runner/_work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code [25](https://github.com/firedancer-io/firedancer/actions/runs/7817585998/job/21325836763#step:9:26)5
@rohan-at-sentry PTAL, may need eng help here
Same issue using python:2.7.18-buster
==> Running command '/__w/_actions/codecov/codecov-action/v4/dist/codecov -v create-commit'
/__w/_actions/codecov/codecov-action/v4/dist/codecov -v create-commit --git-service github -Z
[715] Error loading Python lib '/tmp/_MEIM7NZs8/libpython3.11.so.1.0': dlopen: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/_MEIM7NZs8/libpython3.11.so.1.0)
Error: Codecov: Failed to properly create commit: The process '/__w/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 255
It seems codecov-action pulls down a binary version of codecov-cli, I'm guessing packaged with PyInstaller and Python 3.11 compiled with glibc 2.29.
ldd doesn't show all the dependencies, but they can be found by unpacking the binary and running ldd on the libraries in the root.
The interesting thing is V3 also uses the uploader, but doesn't seem to run the create-commit subcommand that triggers the error. For now, until this is fixed or we can drop support for older platforms, we'll have to revert to V3 which seems to work fine.
There are two fixes I can think of: 1.) Statically linking the binary using staticx 2.) Provide the option to use the codecov-cli python package instead of downloading the binary. This would require a new-ish version of Python to be present (currently 3.8).