Open alsutton opened 6 months ago
Possible duplicate of #2840. Is there any news on progress?
I am interested in this, too.
Here's my workaround (open-source and documented) that I hope that can help you too:
force-ipv4.sh
.: Script for general use.After days of research and trial/error, this is how I got this working:
force-ipv4.sh
, that configures system to prefer IPv4 over IPv6, call it to configure the machine. It was not easy to find a reliable cross-platform solution and I went Cloudflare WARP for DNS resolution along with some system configurations.force-ipv4
and call it in GitHub runners.fetch
API from Node.Related commit introducing this fix: https://github.com/undergroundwires/privacy.sexy/commit/52fadcd6177ed06216be9c67dad57192ae02a4f9
We faced the same issue when migrating our self-hosted runners to IPv6-only VPC on AWS. BTW, their CloudFormationInit endpoint does not support IPv6 either.
The runner needs a configurable switch to use IPv4 only in dual-stack systems until GitHub actually supports IPv6.
Describe the bug On an IPv6 only host a self-hosted action runner fails to register itself as online due to a failed network request to a URL with an IPv4 only address.
Context: Many hosting companies are now charging for IPv4 addresses (most recently AWS), so having IPv6-only self-hosted runners is desirable from an operational cost perspective.
To Reproduce
Expected behavior I expected the runner to start and register as online.
Runner Version and Platform
Version of your runner? 2.312.0
OS of the machine running the runner? OSX/Windows/Linux/... Linux (Debian 12)
What's not working?
Start-up and registration flow requires IPv4 to connect to a URL (
pipelinesghubeus4.actions.githubusercontent.com
)nslookup for host indicates no IPv6 address;
Job Log Output
Runner_20240208-075819-utc.log
, potential token redacted;Runner and Worker's Diagnostic Logs
Logs given above