Skip to content

Commit 2ec1c86

Browse files
committed
Drop --fallback from guix pull in Guix validation workflows
--fallback was added to survive transient substitute download failures, but when Guix's substitute infrastructure is sustainedly unhealthy it silently switches to building guile/guix from source for hours, exhausting the 6h GHA job limit without producing useful output. Fail fast on substitute outages so a run either completes cleanly (~1h33m on a healthy window) or ends quickly; the retry loop still absorbs transient git/SSL blips.
1 parent 25a231b commit 2ec1c86

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

.github/workflows/check-guix-click.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,15 @@ jobs:
3636
(url "https://codeberg.org/tutu967/guix.git")
3737
(branch "python-click-8.4.1")))
3838
CHANNELS
39-
# guix pull intermittently fails on transient substitute or git/SSL
40-
# errors; retry a few times before giving up.
39+
# guix pull intermittently fails on transient git/SSL errors; retry a
40+
# few times to absorb those blips. Deliberately no --fallback: a
41+
# sustained Guix substitute outage should fail fast here rather than
42+
# silently switch to building guile/guix from source for hours and
43+
# exhausting the 6h GHA job limit. Rerun later when substitutes
44+
# recover.
4145
for attempt in 1 2 3; do
4246
echo "guix pull attempt ${attempt}..."
43-
if guix pull --channels=/tmp/channels.scm --disable-authentication --fallback --verbosity=0; then
47+
if guix pull --channels=/tmp/channels.scm --disable-authentication --verbosity=0; then
4448
break
4549
fi
4650
[ "${attempt}" -eq 3 ] && { echo "guix pull failed after 3 attempts"; exit 1; }

.github/workflows/check-guix-deps.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,15 @@ jobs:
3131
(url "https://codeberg.org/tutu967/guix.git")
3232
(branch "mpm-and-dependencies")))
3333
CHANNELS
34-
# guix pull intermittently fails on transient substitute or git/SSL
35-
# errors; retry a few times before giving up.
34+
# guix pull intermittently fails on transient git/SSL errors; retry a
35+
# few times to absorb those blips. Deliberately no --fallback: a
36+
# sustained Guix substitute outage should fail fast here rather than
37+
# silently switch to building guile/guix from source for hours and
38+
# exhausting the 6h GHA job limit. Rerun later when substitutes
39+
# recover.
3640
for attempt in 1 2 3; do
3741
echo "guix pull attempt ${attempt}..."
38-
if guix pull --channels=/tmp/channels.scm --disable-authentication --fallback --verbosity=0; then
42+
if guix pull --channels=/tmp/channels.scm --disable-authentication --verbosity=0; then
3943
break
4044
fi
4145
[ "${attempt}" -eq 3 ] && { echo "guix pull failed after 3 attempts"; exit 1; }

0 commit comments

Comments
 (0)