ci: move package image builds to Depot - #17
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe release workflow replaces Docker Buildx with pinned Depot actions for package, dry-run, and staging builds. Jobs use OIDC authentication and a shared Depot project. Package provenance is preserved or generated as a verified Depot receipt. Tests validate workflow configuration and provenance behavior. ChangesDepot release build migration
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant Depot
participant Registry
participant ReleaseQA
GitHubActions->>Depot: Authenticate with OIDC and select project
GitHubActions->>Depot: Build package and dry-run artifacts
Depot-->>GitHubActions: Return package output and load dry-run image
GitHubActions->>ReleaseQA: Run package and dry-run QA
GitHubActions->>Depot: Build staging image
Depot->>Registry: Push staging image
Depot-->>GitHubActions: Return image digest
GitHubActions->>ReleaseQA: Test staging image by digest
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
tests/release-workflow.test.ts (1)
51-67: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winAssert that staging still pushes and emits a digest.
The negative checks at Line [65] only reject local output and
load. They also pass ifpush: trueis removed, while downstream QA still readssteps.stage.outputs.digest. Add positive assertions forpush: true, the staging tag, and the digest-bound QA reference.Proposed test hardening
assert.doesNotMatch(stage, /outputs: type=local|load: true/); + assert.match(stage, /push:\s+true/); + assert.match(stage, /tags: .*staging-/); + assert.match(stage, /steps\.stage\.outputs\.digest/);🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/release-workflow.test.ts` around lines 51 - 67, Strengthen the test around the stage job in test("package and image BuildKit work uses the Depot project cache") by positively asserting push: true, the expected staging image tag, and QA’s image reference bound to steps.stage.outputs.digest. Keep the existing negative output/load checks and scope the new assertions to stage or the downstream QA section as appropriate.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@tests/release-workflow.test.ts`:
- Around line 69-77: Harden the release workflow test around the
action-reference validation by parsing every external `uses:` line in the
workflow and requiring its reference to be exactly a 40-character hexadecimal
commit SHA. Replace the current version-prefix assertion and incomplete explicit
action list in the test “new reusable and image-index actions use immutable
commits,” while preserving support for the pinned action variables.
---
Nitpick comments:
In `@tests/release-workflow.test.ts`:
- Around line 51-67: Strengthen the test around the stage job in test("package
and image BuildKit work uses the Depot project cache") by positively asserting
push: true, the expected staging image tag, and QA’s image reference bound to
steps.stage.outputs.digest. Keep the existing negative output/load checks and
scope the new assertions to stage or the downstream QA section as appropriate.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 1442c345-4c2c-46fc-a21a-458e4ea0bfb9
📒 Files selected for processing (3)
.github/workflows/package-image-row.ymlTODO.mdtests/release-workflow.test.ts
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
Validation
actionlintnode --experimental-strip-types --test tests/*.test.ts(85 passing)buildx --checkfornative-package-artifactandruntimeFollow-up
Summary by CodeRabbit
Chores
Tests
Documentation