fix(build): hold back packages the cran mirror has not picked up yet #188

Merged
pat-s merged 1 commit from fix/skip-unmirrored-recent-packages into main 2026-08-31 17:12:57 +00:00

2026-08-31

fix(build): hold back packages the cran mirror has not picked up yet
check_for_binary() reads the published version from the cran GitHub
mirror (GET /repos/cran/<pkg>/commits), and that mirror lags CRAN. A
package that has just appeared has no repository there, so the call 404s.

That 404 is permanent, but it is wrapped in purrr::insistently with
max_times = 10 and pause_cap = 60, so it is retried with a backoff of
1, 2, 4, 8, 16, 32, 60, 60, 60, 60 seconds and then aborts the shard.
AsyPeer 0.0.1, published today at 13:50 UTC, took out an entire
resolute build that way.

Release versions published within CRAN_MIRROR_LAG_DAYS (default 3) are
therefore held back. They cost nothing to defer: the daily update
pipeline builds new and updated packages anyway, and they arrive here on
the next run once the mirror has caught up.

Measured against the live CRAN index: 135 of 24831 packages (0.54%) at
three days, including AsyPeer.
2026-08-31 17:01:06 +00:00