From 2e49f3dc67218caa43a19174e9a85de3ed2b941b Mon Sep 17 00:00:00 2001 From: Kristoffer Dalby Date: Fri, 22 May 2026 09:45:22 +0000 Subject: [PATCH] tsic: pull tailscale images from ghcr.io Anonymous reads on ghcr.io are unmetered. Pulling tailscale/tailscale from Docker Hub fails on fork PRs without DOCKERHUB_USERNAME because the unauthenticated rate limit is hit at test time. ghcr.io/tailscale/tailscale publishes the same tags. The cache-hit short-circuit in dockertestutil.PullWithAuth still skips the pull when the image is already loaded locally, so the change is a no-op once CI pre-pulls the images. --- integration/tsic/tsic.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integration/tsic/tsic.go b/integration/tsic/tsic.go index bd0342cb..1c99f41a 100644 --- a/integration/tsic/tsic.go +++ b/integration/tsic/tsic.go @@ -522,7 +522,7 @@ func New( } } case "unstable": - tailscaleOptions.Repository = "tailscale/tailscale" + tailscaleOptions.Repository = "ghcr.io/tailscale/tailscale" tailscaleOptions.Tag = version err = dockertestutil.PullWithAuth(pool, tailscaleOptions.Repository+":"+tailscaleOptions.Tag) @@ -542,7 +542,7 @@ func New( log.Printf("Docker run failed for %s (unstable), error: %v", hostname, err) } default: - tailscaleOptions.Repository = "tailscale/tailscale" + tailscaleOptions.Repository = "ghcr.io/tailscale/tailscale" tailscaleOptions.Tag = "v" + version err = dockertestutil.PullWithAuth(pool, tailscaleOptions.Repository+":"+tailscaleOptions.Tag)