From 1cf473acf8905d9f0556d4958ec7c5fc007d3448 Mon Sep 17 00:00:00 2001 From: pat-s Date: Sat, 5 Sep 2026 13:59:46 +0000 Subject: [PATCH] fix(ci): authenticate uvr's GitHub resolution in the index workflows uvr resolves bincraft's dependencies through the GitHub API, among them the pat-s/cranlike@s3 fork. Unauthenticated that is rate limited, and the failure is quiet: WARN Failed to fetch git Remote pat-s/cranlike@s3 (GitHub API error: 403 Forbidden); falling back to registry resolution Error: Failed to update PACKAGES after 3 attempts. Last error: unused argument (built = built) uvr warns, falls back to the registry copy of cranlike, and the index write then dies because upstream cranlike has no `built` parameter. Five slots failed to re-index that way -- alpine323, rhel8, rhel9, rhel10 and noble -- while the rest of the run reported success. It is intermittent by nature, since it depends on the rate-limit window, so the same pipeline can pass and fail on identical input. build-all-versions.yaml and rebuild-abi-gap.yaml already pass GITHUB_PAT, which is why they resolve the fork reliably and these did not. --- .crow/backfill-flat-safety.yaml | 8 ++++++++ .crow/reindex.yaml | 8 ++++++++ .crow/weekly-rebuild-reindex.yaml | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/.crow/backfill-flat-safety.yaml b/.crow/backfill-flat-safety.yaml index e2f850d..e5c9b68 100644 --- a/.crow/backfill-flat-safety.yaml +++ b/.crow/backfill-flat-safety.yaml @@ -150,6 +150,14 @@ steps: from_secret: PGPASS REPO_RO_TOKEN: from_secret: REPO_RO_TOKEN + # uvr resolves bincraft's dependencies through the GitHub API, including + # the pat-s/cranlike@s3 fork. Unauthenticated it is rate limited, and the + # failure is not loud: uvr warns, falls back to the registry copy of + # cranlike, and the index write then dies on `unused argument (built = + # built)` because upstream has no such parameter. Intermittent by nature, + # since it depends on the rate-limit window. + GITHUB_PAT: + from_secret: GITHUB_PAT GIT_USER: pat-s R_LIBS_USER: /tmp/R-pkgs FLAT_SAFETY_ARCH: ${ARCH} diff --git a/.crow/reindex.yaml b/.crow/reindex.yaml index 528def4..71bca2c 100644 --- a/.crow/reindex.yaml +++ b/.crow/reindex.yaml @@ -151,6 +151,14 @@ steps: from_secret: PGPASS REPO_RO_TOKEN: from_secret: REPO_RO_TOKEN + # uvr resolves bincraft's dependencies through the GitHub API, including + # the pat-s/cranlike@s3 fork. Unauthenticated it is rate limited, and the + # failure is not loud: uvr warns, falls back to the registry copy of + # cranlike, and the index write then dies on `unused argument (built = + # built)` because upstream has no such parameter. Intermittent by nature, + # since it depends on the rate-limit window. + GITHUB_PAT: + from_secret: GITHUB_PAT GIT_USER: pat-s R_LIBS_USER: /mnt/cache/R-pkgs R_VERSION: ${R_VERSION} diff --git a/.crow/weekly-rebuild-reindex.yaml b/.crow/weekly-rebuild-reindex.yaml index 8de71f7..66603e3 100644 --- a/.crow/weekly-rebuild-reindex.yaml +++ b/.crow/weekly-rebuild-reindex.yaml @@ -154,6 +154,14 @@ steps: from_secret: PGPASS REPO_RO_TOKEN: from_secret: REPO_RO_TOKEN + # uvr resolves bincraft's dependencies through the GitHub API, including + # the pat-s/cranlike@s3 fork. Unauthenticated it is rate limited, and the + # failure is not loud: uvr warns, falls back to the registry copy of + # cranlike, and the index write then dies on `unused argument (built = + # built)` because upstream has no such parameter. Intermittent by nature, + # since it depends on the rate-limit window. + GITHUB_PAT: + from_secret: GITHUB_PAT GIT_USER: pat-s R_LIBS_USER: /mnt/cache/R-pkgs R_VERSION: ${R_VERSION} -- 2.54.0