GitHub Release
Create GitHub release with formatted notes from commits since last tag.
Prereqs: gh authenticated, existing tags in repo
Workflow
- •
Get commits since latest tag (run as separate commands):
bash# First: get latest tag git tag --sort=-v:refname | head -1
bash# Then: get commits since that tag (replace <TAG> with result above) git log <TAG>..HEAD --pretty=format:"%h %s%n%b---" --no-merges
- •
Bump version if needed:
- •Check if version in
decentpaste-app/src-tauri/tauri.conf.jsonmatches latest tag - •If yes, run
/bump-versionskill first - •If already bumped, continue
- •Check if version in
- •
Categorize by conventional commit prefix:
Prefix Section feat:Features & Improvements fix:Bug Fixes chore:,docs:,refactor:,perf:,style:,test:Under the Hood - •
Generate notes (omit empty sections):
markdown## What's New in vX.X.X [1-2 sentence summary] ### Features & Improvements - **Feature** - Description ### Bug Fixes - **Fix** - Description ### Under the Hood - **Change** - Description ### Downloads | Platform | Download | |----------|----------| | Windows | `DecentPaste_X.X.X_x64-setup.exe` | | macOS (Intel) | `DecentPaste_X.X.X_x64.dmg` | | macOS (Apple Silicon) | `DecentPaste_X.X.X_aarch64.dmg` | | Linux (Debian/Ubuntu) | `DecentPaste_X.X.X_amd64.deb` | | Linux (AppImage) | `DecentPaste_X.X.X_amd64.AppImage` | | Android | `DecentPaste_X.X.X.apk` | --- **Full Changelog**: https://github.com/decentpaste/decentpaste/compare/<prev-tag>...v<version>
- •
Confirm with user: show version, tag, commit count, notes preview
- •
Commit and push version bump (CRITICAL - must happen before creating release!):
bashgit add -A && git commit -m "chore: bump version to X.X.X" git push
⚠️ CI/CD builds from the pushed code. If you create the release before pushing, CI will build the old version!
- •
Create release:
bashgh release create vX.X.X --title "DecentPaste vX.X.X" --notes "$(cat <<'EOF' <notes> EOF )"
- •
Done: Show release URL, CI will automatically build and upload artifacts