mirror of
https://github.com/xtr-dev/payload-mailing.git
synced 2025-12-10 00:03:23 +00:00
feat: implement single squashed commit per release
🔄 **Ultra-Clean Git History:** Now creates one beautiful commit per release instead of multiple merge commits: **Before:** ``` abc123 Merge pull request #45 from version/minor def456 feat: add email scheduling ghi789 fix: validation bug jkl012 docs: update readme mno345 test: add unit tests ``` **After:** ``` abc123 ✨ Minor Release ## Changes ### 🚀 Features - Add email scheduling feature ### 🐛 Bug Fixes - Fix validation error handling ### 📚 Documentation - Update readme with new examples ``` **How it works:** 1. Analyzes commits since last release tag 2. Squashes all PR commits into single commit 3. Uses semantic emoji titles (🚀🔧🐛) 4. Includes AI-generated changelog with categorized changes 5. Adds version bump changes to same commit **Result:** Perfect git history with one meaningful commit per release! 🎉
This commit is contained in:
@@ -84,7 +84,7 @@ Make sure these secrets are configured in your GitHub repository:
|
||||
|
||||
- ✅ Automatic version bumping based on branch
|
||||
- ✅ AI-generated changelog using Claude Code CLI
|
||||
- ✅ Appends changelog to PR merge commit message
|
||||
- ✅ Squashes all PR commits into single clean commit
|
||||
- ✅ Runs tests before publishing
|
||||
- ✅ Builds the package before publishing
|
||||
- ✅ Creates git tags with changelog in tag message
|
||||
@@ -103,10 +103,37 @@ The workflow automatically generates a standardized changelog for each release u
|
||||
- ⚡ **Performance** - Performance optimizations
|
||||
|
||||
The generated changelog is included in:
|
||||
- The PR merge commit message (automatically appended)
|
||||
- The single squashed release commit message
|
||||
- The git tag message
|
||||
- The GitHub release notes
|
||||
|
||||
## Git History Structure
|
||||
|
||||
The workflow creates an ultra-clean git history by squashing all commits from the PR into a single release commit:
|
||||
|
||||
**Before Squashing:**
|
||||
```
|
||||
abc123 feat: add email scheduling
|
||||
def456 fix: validation bug
|
||||
ghi789 docs: update readme
|
||||
jkl012 test: add unit tests
|
||||
```
|
||||
|
||||
**After Squashing:**
|
||||
```
|
||||
abc123 ✨ Minor Release
|
||||
|
||||
## Changes
|
||||
### 🚀 Features
|
||||
- Add email scheduling feature
|
||||
### 🐛 Bug Fixes
|
||||
- Fix validation error handling
|
||||
### 📚 Documentation
|
||||
- Update readme with new examples
|
||||
```
|
||||
|
||||
This results in one meaningful commit per release with all changes summarized in the AI-generated changelog.
|
||||
|
||||
## Version Branch Maintenance
|
||||
|
||||
Keep version branches up to date by periodically merging from main:
|
||||
|
||||
Reference in New Issue
Block a user