From fac4d130999c6f71e63c1136d2fbd456dea09dc6 Mon Sep 17 00:00:00 2001 From: Paul Miller Date: Fri, 30 Oct 2026 21:33:15 -0500 Subject: [PATCH] ci: e2e shards give new links no IPv6, so Chrome sees no network change The module stalls: Chrome takes a link's IPv6 address coming or going for a network change and fails every request still waiting for a connection (net::ERR_NETWORK_CHANGED). Docker adds a link for each container a computer starts, so a page's module loads queued behind its six connections failed and the page never started. Each shard now first sets net.ipv6.conf.default.disable_ipv6=1 (and docker0's), before any container, so containers change nothing Chrome watches. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c06fff965..de4046cd4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -217,6 +217,16 @@ jobs: matrix: shard: [1, 2, 3, 4] steps: + # first, before any container: no IPv6 address on a link made from + # here on, nor on Docker's bridge. Chrome takes a link's IPv6 address + # coming or going for a network change, and fails every request still + # waiting for a connection (ERR_NETWORK_CHANGED); Docker adds a link + # for each container a computer starts. So a page's module loads queued + # behind its six connections failed, and the page never started + # ("Still loading…", billing-page's `__held`): the module stalls. + - run: | + sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 + if [ -e /proc/sys/net/ipv6/conf/docker0 ]; then sudo sysctl -w net.ipv6.conf.docker0.disable_ipv6=1; fi - uses: actions/checkout@v4 # the caches, the stub image and the build (.github/actions/e2e-build); # the first shard saves them on master's pushes