actions / runner

The Runner for GitHub Actions :rocket:
https://github.com/features/actions
MIT License
4.76k stars 925 forks source link

Unable to configure or setup GitHub runner on RHEL 6 #3399

Closed chandrakanthbala closed 1 week ago

chandrakanthbala commented 1 month ago

Describe the bug While trying to add a RHEL 6 vm as a GitHub runner I am getting below error.

./bin/libcoreclr.so: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ./bin/libcoreclr.so) ./bin/libcoreclr.so: /usr/lib64/libstdc++.so.6: versionCXXABI_1.3.7' not found (required by ./bin/libcoreclr.so) ./bin/libSystem.Security.Cryptography.Native.OpenSsl.so: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ./bin/libSystem.Security.Cryptography.Native.OpenSsl.so) ./bin/libSystem.IO.Compression.Native.so: /lib64/libc.so.6: versionGLIBC_2.14' not found (required by ./bin/libSystem.IO.Compression.Native.so) Libicu's dependencies is missing for Dotnet Core 6.0 Execute sudo ./bin/installdependencies.sh to install any missing Dotnet Core 6.0 dependencies.

To Reproduce Steps to reproduce the behavior:

Go to an RHEL 6 machine [build@**]$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.10

Run '# Create a folder $ mkdir actions-runner && cd actions-runner# Download the latest runner package $ curl -o actions-runner-linux-x64-2.317.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.317.0/actions-runner-linux-x64-2.317.0.tar.gz $ tar xzf ./actions-runner-linux-x64-2.317.0.tar.gz'

Create the runner and start the configuration experience

$ ./config.sh --url https://github.com/cbala --token A1234B1234

See error ./bin/libcoreclr.so: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ./bin/libcoreclr.so) ./bin/libcoreclr.so: /usr/lib64/libstdc++.so.6: versionCXXABI_1.3.7' not found (required by ./bin/libcoreclr.so) ./bin/libSystem.Security.Cryptography.Native.OpenSsl.so: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ./bin/libSystem.Security.Cryptography.Native.OpenSsl.so) ./bin/libSystem.IO.Compression.Native.so: /lib64/libc.so.6: versionGLIBC_2.14' not found (required by ./bin/libSystem.IO.Compression.Native.so) Libicu's dependencies is missing for Dotnet Core 6.0 Execute sudo ./bin/installdependencies.sh to install any missing Dotnet Core 6.0 dependencies.

Expected behavior

Expected to create the runner and start the configuration experience

Runner Version and Platform

Version of your runner? 2.317.0

OS of the machine running the runner? OSX/Windows/Linux/... Red Hat Enterprise Linux Server release 6.10

What's not working?

Please include error messages and screenshots. ./bin/libcoreclr.so: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ./bin/libcoreclr.so) ./bin/libcoreclr.so: /usr/lib64/libstdc++.so.6: versionCXXABI_1.3.7' not found (required by ./bin/libcoreclr.so) ./bin/libSystem.Security.Cryptography.Native.OpenSsl.so: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ./bin/libSystem.Security.Cryptography.Native.OpenSsl.so) ./bin/libSystem.IO.Compression.Native.so: /lib64/libc.so.6: versionGLIBC_2.14' not found (required by ./bin/libSystem.IO.Compression.Native.so) Libicu's dependencies is missing for Dotnet Core 6.0 Execute sudo ./bin/installdependencies.sh to install any missing Dotnet Core 6.0 dependencies.

Job Log Output

If applicable, include the relevant part of the job / step log output here. All sensitive information should already be masked out, but please double-check before pasting here.

Runner and Worker's Diagnostic Logs

If applicable, add relevant diagnostic log information. Logs are located in the runner's diag folder. The runner logs are prefixed with Runner and the worker logs are prefixed with Worker_. Each job run correlates to a worker log. All sensitive information should already be masked out, but please double-check before pasting here.

chandrakanthbala commented 1 month ago

I tried to install dependencies following this script. But got below error. Can you let me know what version of .NET is required for RHEL 6?

https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#scripted-install

dotnet-install: Attempting to download using primary link https://dotnetcli.azureedge.net/dotnet/Sdk/8.0.303/dotnet-sdk-8.0.303-rhel.6-x64.tar.gz
curl: (22) The requested URL returned error: 404 Not Found
dotnet-install: The resource at primary link 'https://dotnetcli.azureedge.net/dotnet/Sdk/8.0.303/dotnet-sdk-8.0.303-rhel.6-x64.tar.gz' is not available.
dotnet_install: Error: Could not find `.NET Core SDK` with version = 8.0.303
dotnet_install: Error: Refer to: https://aka.ms/dotnet-os-lifecycle for information on .NET Core support
ericsciple commented 1 month ago

Apologies @chandrakanthbala, the new runner version upgraded to .NET 8, which does not support Red Hat 6. We temporarily rolled back the update while we reassess how to proceed.

You will either need to reconfigure the runner, or you can check the runner bin folder and revert to the previous version. Upon upgrade, the old bin folder is moved out of the way before being replaced. You should be able to find an bin folder for the previous 2.317.0 release.

PUCHAJDA commented 1 month ago

We are experiencing the same issue on several thousand flows running Amazon Linux 2 and RHEL 7.9. There is no option to migrate all of the platforms.

nebuk89 commented 2 weeks ago

Our changelogs for the deprecation of support for old versions of RHEL are covered :https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/

And https://github.blog/changelog/2024-08-19-notice-of-upcoming-deprecations-and-breaking-changes-in-github-actions-runners/

We sadly need to keep moving our dependencies (node and .net) to newer versions which are not supported on these old operating systems.