Switch to GitHub Actions artifact downloads for CI binaries#21
Conversation
Replace filesystem-cache lookups with `gh run download` for defra-iroh and hubd binaries. The script now: - Resolves the pinned ref to an exact commit via git ls-remote - Finds the successful CI run for that commit via gh run list --commit - Downloads the release artifact via gh run download - Hard-fails if no successful run exists (same semantics as before) orbis-rs remains a source build since we don't control their CI. Depends on: - sourcenetwork/defradb.rs#586 - sourcenetwork/hub.rs#83 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe script's binary acquisition strategy is refactored to download defra-iroh and hubd binaries from GitHub Actions artifacts instead of accessing a prebuilt binary cache. A new Changes
Sequence DiagramsequenceDiagram
participant Script as ensure-binaries.sh
participant GH as GitHub CLI (gh)
participant API as GitHub API
participant Cache as Local Cache
Script->>Script: Resolve commit reference
Script->>GH: download_artifact(repo, ref)
GH->>API: gh run list --repo --ref --status success
API-->>GH: Return matching CI runs
GH->>API: gh run download (run-id) --pattern artifact
API-->>GH: Stream artifact download
GH-->>Script: Artifact data
Script->>Cache: Write binary to cache directory
Script->>Script: Mark binary as executable
Script->>Script: Verify binary readiness
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 📝 Coding Plan
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment Tip You can make CodeRabbit's review stricter and more nitpicky using the `assertive` profile, if that's what you prefer.Change the |
ensure-binaries.sh now reads dependency pins from backbone.toml instead of env vars in ci.yml. This makes each backbone branch/commit declare exactly which defra, hub.rs, and orbis versions it needs — enabling concurrent CI runs with different dependency versions. - Removed DEFRA_REF, HUBD_REF, ORBIS_REF env vars from ci.yml - Script parses backbone.toml for repo URLs and git refs - defra/hub.rs: downloaded as GitHub Actions artifacts (exact commit match) - orbis-rs: still built from source (no CI artifact pipeline) - Hard-fails if no successful CI run exists for the pinned commit Depends on: - sourcenetwork/defradb.rs#586 (merged) - sourcenetwork/hub.rs#83 (merged) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
gh run downloadfor defra-iroh and hubdDependencies
Requires these PRs to be merged first (they add artifact upload steps):
Merge order
Test plan
defra-aarch64-apple-darwinanddefra-iroh-aarch64-apple-darwinartifactshubd-aarch64-apple-darwinartifact🤖 Generated with Claude Code