Feb 05, 2-3 AM (9)
Feb 05, 3-4 AM (6)
Feb 05, 4-5 AM (8)
Feb 05, 5-6 AM (16)
Feb 05, 6-7 AM (17)
Feb 05, 7-8 AM (19)
Feb 05, 8-9 AM (28)
Feb 05, 9-10 AM (24)
Feb 05, 10-11 AM (27)
Feb 05, 11-12 PM (41)
Feb 05, 12-1 PM (71)
Feb 05, 1-2 PM (53)
Feb 05, 2-3 PM (22)
Feb 05, 3-4 PM (29)
Feb 05, 4-5 PM (29)
Feb 05, 5-6 PM (32)
Feb 05, 6-7 PM (25)
Feb 05, 7-8 PM (41)
Feb 05, 8-9 PM (36)
Feb 05, 9-10 PM (15)
Feb 05, 10-11 PM (34)
Feb 05, 11-12 AM (27)
Feb 06, 12-1 AM (20)
Feb 06, 1-2 AM (15)
Feb 06, 2-3 AM (14)
Feb 06, 3-4 AM (15)
Feb 06, 4-5 AM (5)
Feb 06, 5-6 AM (11)
Feb 06, 6-7 AM (17)
Feb 06, 7-8 AM (52)
Feb 06, 8-9 AM (91)
Feb 06, 9-10 AM (39)
Feb 06, 10-11 AM (33)
Feb 06, 11-12 PM (42)
Feb 06, 12-1 PM (76)
Feb 06, 1-2 PM (58)
Feb 06, 2-3 PM (54)
Feb 06, 3-4 PM (62)
Feb 06, 4-5 PM (63)
Feb 06, 5-6 PM (15)
Feb 06, 6-7 PM (9)
Feb 06, 7-8 PM (35)
Feb 06, 8-9 PM (13)
Feb 06, 9-10 PM (15)
Feb 06, 10-11 PM (25)
Feb 06, 11-12 AM (29)
Feb 07, 12-1 AM (6)
Feb 07, 1-2 AM (2)
Feb 07, 2-3 AM (5)
Feb 07, 3-4 AM (5)
Feb 07, 4-5 AM (5)
Feb 07, 5-6 AM (7)
Feb 07, 6-7 AM (0)
Feb 07, 7-8 AM (5)
Feb 07, 8-9 AM (7)
Feb 07, 9-10 AM (5)
Feb 07, 10-11 AM (2)
Feb 07, 11-12 PM (1)
Feb 07, 12-1 PM (2)
Feb 07, 1-2 PM (13)
Feb 07, 2-3 PM (16)
Feb 07, 3-4 PM (16)
Feb 07, 4-5 PM (11)
Feb 07, 5-6 PM (9)
Feb 07, 6-7 PM (9)
Feb 07, 7-8 PM (3)
Feb 07, 8-9 PM (3)
Feb 07, 9-10 PM (7)
Feb 07, 10-11 PM (26)
Feb 07, 11-12 AM (25)
Feb 08, 12-1 AM (1)
Feb 08, 1-2 AM (5)
Feb 08, 2-3 AM (7)
Feb 08, 3-4 AM (2)
Feb 08, 4-5 AM (2)
Feb 08, 5-6 AM (3)
Feb 08, 6-7 AM (0)
Feb 08, 7-8 AM (0)
Feb 08, 8-9 AM (9)
Feb 08, 9-10 AM (0)
Feb 08, 10-11 AM (2)
Feb 08, 11-12 PM (2)
Feb 08, 12-1 PM (2)
Feb 08, 1-2 PM (0)
Feb 08, 2-3 PM (3)
Feb 08, 3-4 PM (2)
Feb 08, 4-5 PM (3)
Feb 08, 5-6 PM (9)
Feb 08, 6-7 PM (1)
Feb 08, 7-8 PM (3)
Feb 08, 8-9 PM (4)
Feb 08, 9-10 PM (27)
Feb 08, 10-11 PM (42)
Feb 08, 11-12 AM (19)
Feb 09, 12-1 AM (3)
Feb 09, 1-2 AM (9)
Feb 09, 2-3 AM (4)
Feb 09, 3-4 AM (16)
Feb 09, 4-5 AM (6)
Feb 09, 5-6 AM (6)
Feb 09, 6-7 AM (31)
Feb 09, 7-8 AM (10)
Feb 09, 8-9 AM (70)
Feb 09, 9-10 AM (25)
Feb 09, 10-11 AM (78)
Feb 09, 11-12 PM (73)
Feb 09, 12-1 PM (102)
Feb 09, 1-2 PM (53)
Feb 09, 2-3 PM (60)
Feb 09, 3-4 PM (97)
Feb 09, 4-5 PM (48)
Feb 09, 5-6 PM (24)
Feb 09, 6-7 PM (16)
Feb 09, 7-8 PM (20)
Feb 09, 8-9 PM (48)
Feb 09, 9-10 PM (28)
Feb 09, 10-11 PM (36)
Feb 09, 11-12 AM (34)
Feb 10, 12-1 AM (17)
Feb 10, 1-2 AM (6)
Feb 10, 2-3 AM (8)
Feb 10, 3-4 AM (3)
Feb 10, 4-5 AM (9)
Feb 10, 5-6 AM (10)
Feb 10, 6-7 AM (16)
Feb 10, 7-8 AM (77)
Feb 10, 8-9 AM (58)
Feb 10, 9-10 AM (32)
Feb 10, 10-11 AM (77)
Feb 10, 11-12 PM (100)
Feb 10, 12-1 PM (63)
Feb 10, 1-2 PM (83)
Feb 10, 2-3 PM (50)
Feb 10, 3-4 PM (42)
Feb 10, 4-5 PM (25)
Feb 10, 5-6 PM (18)
Feb 10, 6-7 PM (20)
Feb 10, 7-8 PM (26)
Feb 10, 8-9 PM (16)
Feb 10, 9-10 PM (15)
Feb 10, 10-11 PM (40)
Feb 10, 11-12 AM (19)
Feb 11, 12-1 AM (4)
Feb 11, 1-2 AM (12)
Feb 11, 2-3 AM (4)
Feb 11, 3-4 AM (1)
Feb 11, 4-5 AM (6)
Feb 11, 5-6 AM (5)
Feb 11, 6-7 AM (9)
Feb 11, 7-8 AM (13)
Feb 11, 8-9 AM (132)
Feb 11, 9-10 AM (29)
Feb 11, 10-11 AM (37)
Feb 11, 11-12 PM (55)
Feb 11, 12-1 PM (89)
Feb 11, 1-2 PM (63)
Feb 11, 2-3 PM (54)
Feb 11, 3-4 PM (46)
Feb 11, 4-5 PM (54)
Feb 11, 5-6 PM (20)
Feb 11, 6-7 PM (34)
Feb 11, 7-8 PM (23)
Feb 11, 8-9 PM (40)
Feb 11, 9-10 PM (24)
Feb 11, 10-11 PM (47)
Feb 11, 11-12 AM (31)
Feb 12, 12-1 AM (10)
Feb 12, 1-2 AM (3)
Feb 12, 2-3 AM (1)
4,322 commits this week Feb 05, 2026 - Feb 12, 2026
Make curl retry count and download concurrency configurable
Add --max-retries (default: 7) and --max-concurrent-downloads
(default: 10) flags to `foliage build`.

With 7 retries, curl's exponential backoff spans 1+2+4+8+16+32+64 =
127 seconds, giving GitHub ample time to recover from transient 502s.

Lowering concurrent downloads from 20 to 10 further reduces server
pressure under high parallelism (-j 0).
Make curl retry count and download concurrency configurable
Add --max-retries (default: 7) and --max-concurrent-downloads
(default: 10) flags to `foliage build`.

With 7 retries, curl's exponential backoff spans 1+2+4+8+16+32+64 =
127 seconds, giving GitHub ample time to recover from transient 502s.

Lowering concurrent downloads from 20 to 10 further reduces server
pressure under high parallelism (-j 0).
Make curl retry count and download concurrency configurable
Add --max-retries (default: 7) and --max-concurrent-downloads
(default: 10) flags to `foliage build`.

With 7 retries, curl's exponential backoff spans 1+2+4+8+16+32+64 =
127 seconds, giving GitHub ample time to recover from transient 502s.

Lowering concurrent downloads from 20 to 10 further reduces server
pressure under high parallelism (-j 0).
Update foliage to include curl retry backoff and download concurrency limit
Updates the foliage flake input to include input-output-hk/foliage#116:

- curl --retry 3 --retry-connrefused for transient HTTP errors (502, etc.)
  with exponential backoff
- Download concurrency capped at 20 via Shake Resource to prevent
  overwhelming GitHub under -j 0
- CI actions upgraded (nix-installer v21, magic-nix-cache v13, cachix v16)
Update foliage to include curl retry backoff and download concurrency limit
Updates the foliage flake input to include input-output-hk/foliage#116:

- curl --retry 3 --retry-connrefused for transient HTTP errors (502, etc.)
  with exponential backoff
- Download concurrency capped at 20 via Shake Resource to prevent
  overwhelming GitHub under -j 0
- CI actions upgraded (nix-installer v21, magic-nix-cache v13, cachix v16)
Upgrade CI actions to latest versions
- DeterminateSystems/nix-installer-action: v9 → v21
- DeterminateSystems/magic-nix-cache-action: v2 → v13
- cachix/cachix-action: v14 → v16

Fixes CI failures caused by TypeError: Invalid URL in the old
nix-installer-action when fetching from install.determinate.systems.
Add curl retry with backoff and download concurrency limit
Fix transient HTTP 502 failures when downloading source tarballs from
GitHub under high parallelism (-j 0).

Two changes:

1. Add --retry 3 --retry-connrefused to curl invocations. Curl retries
   transient HTTP errors (408, 429, 500, 502, 503, 504) with built-in
   exponential backoff (1s, 2s, 4s). The existing actionRetry 5 is kept
   as a second layer for non-HTTP failures.

2. Cap concurrent downloads at 20 using Shake's Resource mechanism.
   This prevents hundreds of simultaneous curl processes from
   overwhelming GitHub when running with -j 0. Non-network tasks
   (patching, sdist creation, index building) still run at full
   parallelism.