Home / Input Output / foliage
Feb 08, 1-2 PM (0)
Feb 08, 2-3 PM (0)
Feb 08, 3-4 PM (0)
Feb 08, 4-5 PM (0)
Feb 08, 5-6 PM (0)
Feb 08, 6-7 PM (0)
Feb 08, 7-8 PM (0)
Feb 08, 8-9 PM (0)
Feb 08, 9-10 PM (0)
Feb 08, 10-11 PM (0)
Feb 08, 11-12 AM (0)
Feb 09, 12-1 AM (0)
Feb 09, 1-2 AM (0)
Feb 09, 2-3 AM (0)
Feb 09, 3-4 AM (0)
Feb 09, 4-5 AM (0)
Feb 09, 5-6 AM (0)
Feb 09, 6-7 AM (0)
Feb 09, 7-8 AM (0)
Feb 09, 8-9 AM (0)
Feb 09, 9-10 AM (0)
Feb 09, 10-11 AM (0)
Feb 09, 11-12 PM (0)
Feb 09, 12-1 PM (0)
Feb 09, 1-2 PM (0)
Feb 09, 2-3 PM (0)
Feb 09, 3-4 PM (0)
Feb 09, 4-5 PM (0)
Feb 09, 5-6 PM (0)
Feb 09, 6-7 PM (0)
Feb 09, 7-8 PM (0)
Feb 09, 8-9 PM (0)
Feb 09, 9-10 PM (0)
Feb 09, 10-11 PM (0)
Feb 09, 11-12 AM (0)
Feb 10, 12-1 AM (0)
Feb 10, 1-2 AM (0)
Feb 10, 2-3 AM (0)
Feb 10, 3-4 AM (0)
Feb 10, 4-5 AM (0)
Feb 10, 5-6 AM (0)
Feb 10, 6-7 AM (0)
Feb 10, 7-8 AM (0)
Feb 10, 8-9 AM (0)
Feb 10, 9-10 AM (0)
Feb 10, 10-11 AM (0)
Feb 10, 11-12 PM (0)
Feb 10, 12-1 PM (0)
Feb 10, 1-2 PM (0)
Feb 10, 2-3 PM (0)
Feb 10, 3-4 PM (0)
Feb 10, 4-5 PM (0)
Feb 10, 5-6 PM (0)
Feb 10, 6-7 PM (0)
Feb 10, 7-8 PM (0)
Feb 10, 8-9 PM (0)
Feb 10, 9-10 PM (0)
Feb 10, 10-11 PM (0)
Feb 10, 11-12 AM (0)
Feb 11, 12-1 AM (0)
Feb 11, 1-2 AM (0)
Feb 11, 2-3 AM (0)
Feb 11, 3-4 AM (0)
Feb 11, 4-5 AM (0)
Feb 11, 5-6 AM (1)
Feb 11, 6-7 AM (0)
Feb 11, 7-8 AM (1)
Feb 11, 8-9 AM (0)
Feb 11, 9-10 AM (0)
Feb 11, 10-11 AM (0)
Feb 11, 11-12 PM (0)
Feb 11, 12-1 PM (0)
Feb 11, 1-2 PM (0)
Feb 11, 2-3 PM (0)
Feb 11, 3-4 PM (0)
Feb 11, 4-5 PM (0)
Feb 11, 5-6 PM (0)
Feb 11, 6-7 PM (0)
Feb 11, 7-8 PM (0)
Feb 11, 8-9 PM (0)
Feb 11, 9-10 PM (0)
Feb 11, 10-11 PM (0)
Feb 11, 11-12 AM (2)
Feb 12, 12-1 AM (3)
Feb 12, 1-2 AM (0)
Feb 12, 2-3 AM (0)
Feb 12, 3-4 AM (0)
Feb 12, 4-5 AM (0)
Feb 12, 5-6 AM (0)
Feb 12, 6-7 AM (0)
Feb 12, 7-8 AM (0)
Feb 12, 8-9 AM (0)
Feb 12, 9-10 AM (0)
Feb 12, 10-11 AM (0)
Feb 12, 11-12 PM (0)
Feb 12, 12-1 PM (0)
Feb 12, 1-2 PM (0)
Feb 12, 2-3 PM (0)
Feb 12, 3-4 PM (0)
Feb 12, 4-5 PM (0)
Feb 12, 5-6 PM (0)
Feb 12, 6-7 PM (0)
Feb 12, 7-8 PM (0)
Feb 12, 8-9 PM (0)
Feb 12, 9-10 PM (1)
Feb 12, 10-11 PM (1)
Feb 12, 11-12 AM (0)
Feb 13, 12-1 AM (1)
Feb 13, 1-2 AM (0)
Feb 13, 2-3 AM (0)
Feb 13, 3-4 AM (0)
Feb 13, 4-5 AM (0)
Feb 13, 5-6 AM (0)
Feb 13, 6-7 AM (0)
Feb 13, 7-8 AM (0)
Feb 13, 8-9 AM (0)
Feb 13, 9-10 AM (0)
Feb 13, 10-11 AM (0)
Feb 13, 11-12 PM (0)
Feb 13, 12-1 PM (0)
Feb 13, 1-2 PM (0)
Feb 13, 2-3 PM (0)
Feb 13, 3-4 PM (0)
Feb 13, 4-5 PM (0)
Feb 13, 5-6 PM (0)
Feb 13, 6-7 PM (0)
Feb 13, 7-8 PM (0)
Feb 13, 8-9 PM (0)
Feb 13, 9-10 PM (0)
Feb 13, 10-11 PM (0)
Feb 13, 11-12 AM (0)
Feb 14, 12-1 AM (0)
Feb 14, 1-2 AM (0)
Feb 14, 2-3 AM (0)
Feb 14, 3-4 AM (0)
Feb 14, 4-5 AM (0)
Feb 14, 5-6 AM (0)
Feb 14, 6-7 AM (0)
Feb 14, 7-8 AM (0)
Feb 14, 8-9 AM (0)
Feb 14, 9-10 AM (0)
Feb 14, 10-11 AM (0)
Feb 14, 11-12 PM (0)
Feb 14, 12-1 PM (0)
Feb 14, 1-2 PM (0)
Feb 14, 2-3 PM (0)
Feb 14, 3-4 PM (0)
Feb 14, 4-5 PM (0)
Feb 14, 5-6 PM (0)
Feb 14, 6-7 PM (0)
Feb 14, 7-8 PM (0)
Feb 14, 8-9 PM (0)
Feb 14, 9-10 PM (0)
Feb 14, 10-11 PM (0)
Feb 14, 11-12 AM (1)
Feb 15, 12-1 AM (0)
Feb 15, 1-2 AM (0)
Feb 15, 2-3 AM (0)
Feb 15, 3-4 AM (0)
Feb 15, 4-5 AM (0)
Feb 15, 5-6 AM (0)
Feb 15, 6-7 AM (0)
Feb 15, 7-8 AM (0)
Feb 15, 8-9 AM (0)
Feb 15, 9-10 AM (0)
Feb 15, 10-11 AM (0)
Feb 15, 11-12 PM (0)
Feb 15, 12-1 PM (0)
Feb 15, 1-2 PM (0)
11 commits this week Feb 08, 2026 - Feb 15, 2026
flake.lock: Update
Flake lock file updates:

• Updated input 'haskell-nix':
    'github:input-output-hk/haskell.nix/cad2645' (2026-01-03)
  → 'github:input-output-hk/haskell.nix/a1dc767' (2026-02-14)
• Updated input 'haskell-nix/hackage':
    'github:input-output-hk/hackage.nix/05797dd' (2026-01-03)
  → 'github:input-output-hk/hackage.nix/26b99ff' (2026-02-14)
• Updated input 'haskell-nix/hackage-for-stackage':
    'github:input-output-hk/hackage.nix/fba3874' (2026-01-03)
  → 'github:input-output-hk/hackage.nix/0e5a1b2' (2026-02-14)
• Added input 'haskell-nix/hls-2.12':
    'github:haskell/haskell-language-server/7d983de' (2025-09-24)
• Updated input 'haskell-nix/iserv-proxy':
    'github:stable-haskell/iserv-proxy/1506051' (2025-08-15)
  → 'github:stable-haskell/iserv-proxy/91ef7ff' (2026-02-04)
• Updated input 'haskell-nix/stackage':
    'github:input-output-hk/stackage.nix/8a7333a' (2026-01-03)
  → 'github:input-output-hk/stackage.nix/f656c6e' (2026-02-11)
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).
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.
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.