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.