docs: update release process for immutable releases with tag-first workflow#40
docs: update release process for immutable releases with tag-first workflow#40
Conversation
…rkflow Update release documentation to reflect the tag-first workflow that is compatible with GitHub's immutable releases feature. Key changes: - CLAUDE.md: Updated "Creating a New Release" section with tag-first workflow - RELEASES.md: Complete rewrite focused on tag-first approach - planning/releases-with-immutability.md: New planning document with detailed analysis The new workflow pushes the tag first, which triggers the GitHub Actions workflow to create a draft release and upload assets. A human then reviews and publishes the draft, ensuring assets are uploaded while the release is still mutable. Related: #39
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #40 +/- ##
==========================================
+ Coverage 53.00% 55.31% +2.30%
==========================================
Files 31 30 -1
Lines 8363 6472 -1891
==========================================
- Hits 4433 3580 -853
+ Misses 3203 2222 -981
+ Partials 727 670 -57 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
PR Review: Release Process Documentation UpdateSummaryThis PR updates the release documentation to implement a tag-first workflow compatible with GitHub's immutable releases feature. The changes are well-motivated and address a real pain point (#39). Overall, this is a solid documentation improvement with good technical accuracy. Strengths ✅
Issues Found 🔍1. Step Numbering Inconsistency (Minor)The three files have different step sequences:
Recommendation: Standardize the step numbering across all three documents. The RELEASES.md version with 8 steps seems most complete and should be the canonical reference. 2. Cross-Reference Path Inconsistency (Minor)In - [planning/release-issues.md](./planning/release-issues.md)In See [planning/releases-with-immutability.md](planning/releases-with-immutability.md)Recommendation: Use consistent relative paths - either with 3. Step 5 Title Mismatch Between CLAUDE.md and RELEASES.md (Minor)
These describe the same action but are numbered differently. Code Quality AssessmentSince this is a documentation-only PR, traditional code quality metrics don't apply, but documentation quality is excellent:
Performance ConsiderationsN/A - Documentation only Security Concerns✅ None identified. In fact, this PR improves security posture by:
Test CoverageN/A - Documentation only. However, the planning doc includes a helpful implementation checklist showing all items are verified complete. Recommendations
Breaking ChangesNone - This is documentation only. VerdictApprove with minor fixes recommended ✅ The core content is excellent and solves a real problem. The inconsistencies are minor presentation issues that should be addressed but don't block merging. Once step numbering is standardized, this will be a high-quality documentation update. Reviewed by: Claude Code (Sonnet 4.5) |
Removed 6 completed planning documents: - differ-consolidation.md (completed in PR #38) - improve-testing.md (completed in PR #32) - security-audit-len-arithmetic.md (completed in PR #33) - schema-diffing.md (Phases 1-2 completed in PRs #34, #36) - releases-with-immutability.md (completed in PR #40) - release-issues.md (historical, lessons incorporated elsewhere) Updated review-feedback-implementation.md to reflect all 3 phases completed in PR #46, including Phase 3 JSON marshaling refactor (552 lines removed). Remaining planning docs are either active work, reference documentation, or intentionally on-hold pending feedback. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
#47) Removed 6 completed planning documents: - differ-consolidation.md (completed in PR #38) - improve-testing.md (completed in PR #32) - security-audit-len-arithmetic.md (completed in PR #33) - schema-diffing.md (Phases 1-2 completed in PRs #34, #36) - releases-with-immutability.md (completed in PR #40) - release-issues.md (historical, lessons incorporated elsewhere) Updated review-feedback-implementation.md to reflect all 3 phases completed in PR #46, including Phase 3 JSON marshaling refactor (552 lines removed). Remaining planning docs are either active work, reference documentation, or intentionally on-hold pending feedback. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
Summary
Updates release documentation to implement a tag-first workflow compatible with GitHub's immutable releases feature.
Changes
CLAUDE.md
RELEASES.md
planning/releases-with-immutability.md
Why Tag-First Works
The Problem: With immutable releases enabled, previous approaches failed because:
gh release create --draft→ doesn't push tag → workflow doesn't trigger until published → release immutable when workflow runs → 422 errorsThe Solution: Tag-first workflow:
Testing Plan
After merge, we'll test with
v1.10.0-rc1to verify the workflow before creating the actual v1.10.0 release.Related
planning/release-issues.mdfor historical context🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com