Build run #6 failed because download.savannah.gnu.org returned HTTP 502 when downloading freetype-2.13.3.tar.gz (Dockerfile line 175). The URL works intermittently — GNU Savannah mirrors are unreliable and frequently return transient errors.
#13 1.047 curl: (22) The requested URL returned error: 502
#13 1.047 gzip: stdin: unexpected end of file
#13 1.047 tar: Child returned status 1
The Dockerfile has ~74 build steps, many of which download source tarballs from external servers (freetype, fribidi, fontconfig, lame, nv-codec-headers, etc). Any single transient failure kills the entire build with no recovery.
Impact
30+ minute builds wasted on transient network errors
No automatic recovery — requires manual re-trigger
Multiple download sources are affected (GNU Savannah, SourceForge, GitHub releases)
Suggested fix
Add --retry 3 --retry-delay 5 to all curl commands in the Dockerfile. This handles transient 5xx errors without making the Dockerfile significantly more complex.
This should be applied to every curl invocation in the Dockerfile.
## Problem
Build run #6 failed because `download.savannah.gnu.org` returned HTTP 502 when downloading freetype-2.13.3.tar.gz (Dockerfile line 175). The URL works intermittently — GNU Savannah mirrors are unreliable and frequently return transient errors.
```
#13 1.047 curl: (22) The requested URL returned error: 502
#13 1.047 gzip: stdin: unexpected end of file
#13 1.047 tar: Child returned status 1
```
The Dockerfile has ~74 build steps, many of which download source tarballs from external servers (freetype, fribidi, fontconfig, lame, nv-codec-headers, etc). Any single transient failure kills the entire build with no recovery.
## Impact
- 30+ minute builds wasted on transient network errors
- No automatic recovery — requires manual re-trigger
- Multiple download sources are affected (GNU Savannah, SourceForge, GitHub releases)
## Suggested fix
Add `--retry 3 --retry-delay 5` to all `curl` commands in the Dockerfile. This handles transient 5xx errors without making the Dockerfile significantly more complex.
Example:
```dockerfile
# Before
RUN curl -Lf https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE}.tar.gz | tar -zx ...
# After
RUN curl -Lf --retry 3 --retry-delay 5 https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE}.tar.gz | tar -zx ...
```
This should be applied to every `curl` invocation in the Dockerfile.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Build run #6 failed because
download.savannah.gnu.orgreturned HTTP 502 when downloading freetype-2.13.3.tar.gz (Dockerfile line 175). The URL works intermittently — GNU Savannah mirrors are unreliable and frequently return transient errors.The Dockerfile has ~74 build steps, many of which download source tarballs from external servers (freetype, fribidi, fontconfig, lame, nv-codec-headers, etc). Any single transient failure kills the entire build with no recovery.
Impact
Suggested fix
Add
--retry 3 --retry-delay 5to allcurlcommands in the Dockerfile. This handles transient 5xx errors without making the Dockerfile significantly more complex.Example:
This should be applied to every
curlinvocation in the Dockerfile.