Builds stall on unreachable Ubuntu mirrors; use a country mirror #28

Closed
opened 2026-09-11 08:05:52 +00:00 by claude-bot · 0 comments
Member

Problem

Since 2026-09-11, image builds crawl. The coder-xfce-vnc job on #22 took 48 minutes (usually ~10), #23's ci job took 26 minutes (usually 3–7), and the first desktop attempts on both PRs were cancelled after about 38 minutes.

Every apt-get step fetches from Ubuntu's default mirrors, and Canonical's main archive is down (see Canonical's status page). From the build cluster:

Mirror (IPv4) Result from the cluster
archive.ubuntu.com (all 6 addresses) no connection within 5–10 s
security.ubuntu.com connects after ~2 s, then no data for 15 s
fr.archive.ubuntu.com 200 in 55–73 ms

It's the same from three different nodes, and there's no IPv6 route to fall back on. Network speed isn't the problem: GitHub and JetBrains downloads run at 60–250 MB/s from the same node and from inside the build container.

Normally the default mirrors are fine, but a release can't wait for Canonical to recover, and country mirrors run on separate hosts that keep working through outages like this.

Proposal

Add a UBUNTU_MIRROR build argument to the base stage, defaulting to the France country mirror, and rewrite the image's Ubuntu sources to use it. Every variant inherits it, and an empty value keeps the stock sources.

Because the rewritten sources ship in the published images, this needs clear public documentation: what changed, the trade-off for security updates, how to check which mirror an image uses, and how to switch mirrors or restore the stock sources, both at build time and in existing images.

🤖 Generated with Claude Code

## Problem Since 2026-09-11, image builds crawl. The `coder-xfce-vnc` job on #22 took **48 minutes** (usually ~10), #23's `ci` job took 26 minutes (usually 3–7), and the first desktop attempts on both PRs were cancelled after about 38 minutes. Every `apt-get` step fetches from Ubuntu's default mirrors, and **Canonical's main archive is down** (see Canonical's status page). From the build cluster: | Mirror (IPv4) | Result from the cluster | |---|---| | `archive.ubuntu.com` (all 6 addresses) | no connection within 5–10 s | | `security.ubuntu.com` | connects after ~2 s, then no data for 15 s | | `fr.archive.ubuntu.com` | `200` in 55–73 ms | It's the same from three different nodes, and there's no IPv6 route to fall back on. Network speed isn't the problem: GitHub and JetBrains downloads run at 60–250 MB/s from the same node and from inside the build container. Normally the default mirrors are fine, but a release can't wait for Canonical to recover, and country mirrors run on separate hosts that keep working through outages like this. ## Proposal Add a `UBUNTU_MIRROR` build argument to the base stage, defaulting to the France country mirror, and rewrite the image's Ubuntu sources to use it. Every variant inherits it, and an empty value keeps the stock sources. Because the rewritten sources ship in the published images, this needs clear public documentation: what changed, the trade-off for security updates, how to check which mirror an image uses, and how to switch mirrors or restore the stock sources, both at build time and in existing images. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
actions/sindri#28
No description provided.