ci(release): let unified workflow own tags - #160
Conversation
|
Codex review: needs maintainer review before merge. Reviewed August 2, 2026, 2:07 PM ET / 18:07 UTC. ClawSweeper reviewWhat this changesThe branch removes Discrawl’s local SSH signed-tag requirement and signer allowlist, documents workflow-owned tag creation, and records the release-process change for version 0.12.0. Merge readinessKeep this collaborator-authored PR open for maintainer review. It is a focused release-process change, but it removes Discrawl’s documented local signed-tag verification gate and relies on an external reusable workflow whose equivalent authorization and tag-freezing guarantees were not available to verify locally. Priority: P2 Review scores
Verification
How this fits togetherDiscrawl releases start with a manual GitHub Actions dispatch that calls an organization-managed reusable workflow. The workflow is responsible for versioning, building the Go CLI, signing and notarizing archives, publishing assets, and handing the formula to Homebrew. flowchart LR
A[Release operator] --> B[Manual release dispatch]
B --> C[Shared release workflow]
C --> D[Create and freeze version tag]
D --> E[Build and sign archives]
E --> F[Publish GitHub release]
F --> G[Update Homebrew formula]
Decision needed
Why: The changed authorization and tag-freezing behavior lives in the external reusable workflow rather than this repository. Local inspection proves the outgoing gate but cannot prove the proposed replacement control. Before merge
Findings
Agent review detailsSecurityNeeds attention: Removing the local signed-tag control is security-sensitive until maintainers verify that the pinned shared workflow provides an equivalent authorized and auditable tag-creation boundary. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Adopt one organization-managed release path only after maintainers confirm that the pinned reusable workflow provides equivalent tag authorization, tag immutability, and release-to-commit traceability. Do we have a high-confidence way to reproduce the issue? Not applicable: this is release-process maintenance rather than a user-reported runtime bug. Current source establishes the existing local tag gate, but the organization-managed replacement was unavailable in the checkout to exercise. Is this the best way to solve the issue? Unclear: the proposed simplification is appropriate only if the pinned reusable workflow enforces an equivalent authorized, immutable tag contract; that source-level proof was unavailable. AGENTS.md: found, but no applicable review policy affected this item. Codex review notes: model internal, reasoning high; reviewed against bd17ef14156b. LabelsLabel changes:
Label justifications:
EvidenceSecurity concerns:
What I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
|
@clawsweeper re-review The external tag boundary is now maintainer-verified, and Peter explicitly approved this unified model on 2026-08-02. The pinned
This is the approved replacement authorization and audit boundary. The first merged dispatch for |
|
🦞👀 Command router queued. I will update this comment with the next step. |
Summary
openclaw/release-workflows/.github/workflows/release-go-cli.yml@v1create and freeze the annotated release tagchecksums.txt, native Darwin archives, signing identifier, andopenclaw/homebrew-tapformula handoff0.12.0changelog sectionrelease-go-cli.ymlis the only reusable release archetype exposed by@v1, and it matches this repository's Go module plus GoReleaser matrix.nfpm: autoremains binary-only because the current GoReleaser config has nonfpmsblock.Validation
actionlint .github/workflows/release-unified.ymlGOWORK=off go test ./scripts ./...make checkThe actual operator behavior will be live-proven by dispatching the merged workflow for
0.12.0; no local release credential or local tag operation is part of that path.