Repository navigation
ci: seed pinned Kubo from its GitHub release when dist.ipfs.tech is down - #216
Conversation
Linux PR checks fail in local-carrier-setup-smoke whenever dist.ipfs.tech is unreachable, because setup downloads Kubo from there. Kubo publishes the same release tarballs on GitHub (byte-identical: the pinned sha512 in components.json matches for linux-amd64, linux-arm64 and darwin-arm64). seed-kubo-cache.sh now tries the pinned URL, then the same file from the same Kubo release on GitHub; the pinned checksum still decides. The Carrier smoke seeds Kubo before setup, as the macOS job already does, so setup skips that external download. Kubo is an external component, not a first-party Carrier component, so the smoke still proves Carrier install.
|
Independent adversarial review (Codex) — VERDICT: PASS |
Unblocks Linux PR checks for #214, #215, #201 and #202, which fail in local-carrier-setup-smoke because dist.ipfs.tech has been unreachable since 2 October.
scripts/seed-kubo-cache.sh: tries the pinned URL from components.json, then the same file from the same Kubo release on GitHub. The pinned checksum still decides; checked locally: the GitHub tarballs for linux-amd64, linux-arm64 and darwin-arm64 match the pinned sha512.scripts/local-carrier-setup-smoke.sh: seeds Kubo beforeelastos setup, as the macOS job already does, so setup skips the external download. Kubo is an external component, so the smoke still proves the Carrier install of first-party components.Local proof (Mac, dist.ipfs.tech down): the script failed over to GitHub after the retries, verified sha512 and seeded an x86-64 kubo binary.
Not covered:
elastos setupon an end user's machine still downloads Kubo only from dist.ipfs.tech; that runtime fallback belongs to #89 (normal install).Author: Claude (operator). Needs an independent review from a different model family (Codex) before merge.