Repository navigation
ci: add verified source release pipeline - #270
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs real behavior proof before merge. What this changesThis PR adds signed-tag source releases, a no-publish rehearsal, a verification script, and release instructions. Example: Dispatch Release on main with version 0.4.0 and dry_run=true.
Review scores
ProductKind: Feature · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Blocked before merge - 4 items remain Keep this PR open: the release pipeline is useful and absent from main, but an unsupported reusable-workflow input blocks both rehearsal and publication. Priority: P2 Before merge
Findings
Tests
Agent review detailsHow this fits togetherGitHub tag pushes and manual dispatches enter a shared release workflow that validates source, runs credential-free checks, assembles archives, verifies their bytes, and publishes a GitHub Release. flowchart TD
A[Tag push or dispatch] --> B[ClawRouter release caller]
B --> C[Protected source and tag validation]
C --> D[Local build and smoke checks]
D --> E[Source archives and inventory]
E --> F[Independent verification]
F --> G[GitHub Release publisher]
Technical reviewBest possible solution: Keep the thin shared-workflow caller, remove its unsupported input, and verify the authorized and forbidden publication paths. Do we have a high-confidence way to reproduce the issue? The blocker is source-verifiable: this caller passes release-name, while the exact v1 dependency declares no such workflow_call input; no release workflow was executed during review. Is this the best way to solve the issue? Using the shared source-release workflow fits the existing distribution boundary and avoids duplicating publication logic, provided the caller matches its declared interface. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 3e31abb4f33d. Merge-risk optionsMaintainer options:
Provenance checked
TestingProof path: none. SecurityNeeds attention: The inspected permission and artifact boundaries are coherent, but final-effect rejection evidence is still required for the new publication authority. EvidenceWhat I checked:
Likely related people:
Review metrics
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 12, 2026, 2:28 AM ET / 06:28 UTC. |
Add
release-source.yml@v1for ClawRouter's existing source distribution. Signed annotatedv*tags require protected-main ancestry, consistent version metadata, dated changelog notes, and green push CI on the exact commit. The shared workflow produces independently verified source archives, inventory, and SHA-256 checksums before publishing the GitHub Release.Manual dispatch defaults to a no-publish rehearsal of current protected main. The credential-free verification helper builds the Worker/admin, runs tests and local Worker smoke, and compiles a Wrangler dry-run bundle. Existing production/FakeCo dispatch workflows, expected-SHA guards, deployment scripts, and Docker distribution are unchanged. No npm package, binary, or container image publication is introduced.
Validation: actionlint and shellcheck passed; independent Codex autoreview is clean through P2. The AWS Crabbox proof passed 1,301 Worker tests, admin/script checks, local HTTP/WebSocket/content-cleanup smokes, and Wrangler dry-run packaging. The helper avoids repeating the Worker suite that the build already runs. PR CI provides the broader browser/native/self-host matrix. The no-publish release run on merged main is the final proof.