check / check (push) Waiting to run
Each `go mod download` in the Dockerfile now runs under a 180-second time limit and is tried up to three times. Without the limit, a stalled connection to the module proxy held the step, and every build on the host sharing it, until the kernel dropped the connection. When all three attempts fail, the step prints "module download failed" and exits 1, so the build stops there and does not look like a test or lint failure. The loop is repeated in each of the three stages because a Dockerfile cannot share shell code between stages. A test checks every download step for the limit, the retries, the message and the final `exit 1`. Judgement call: 180 seconds and three attempts, against a normal download of 13 to 24 seconds. Deviation: REPO_POLICIES.md's model Go Dockerfile still shows a bare `RUN go mod download`. Model: opus-5-5