Create a release following Git Flow strategy. Use when preparing a release, bumping version, creating release branch, or when user says "release", "bump version", "prepare release", "ship version".
This skill guides the release process following Git Flow with automated CI/CD.
```
develop ──▶ release/v{X.Y.Z} ──PR──▶ main
▲ │
│ ▼
│ (auto-release.yml)
│ │
│ ▼
│ tag: v{X.Y.Z}
│ │
│ ▼
│ (publish.yml)
│ │
│ ▼
│ JSR publish
│ │
└───────────── backmerge ◀──────────┘
```
```bash
git checkout develop
git pull origin develop
git status
```
Verify all features for this release are merged.
```bash
deno task ci
```
All tests must pass before proceeding.
Follow semantic versioning:
Check current version:
```bash
jq -r '.version' deno.json
```
```bash
git checkout -b release/v{NEW_VERSION}
```
Use the project's bump script:
```bash
bash scripts/bump_version.sh
```
Or manually update `deno.json`:
```bash
```
Add release notes under new version heading.
```bash
git add deno.json CHANGELOG.md
git commit -m "chore: bump version to {NEW_VERSION}"
```
```bash
git push -u origin release/v{NEW_VERSION}
```
Create PR: `release/v{NEW_VERSION}` → `main`
**Important**: PR must be from `release/*` branch directly to `main` for auto-release to trigger.
When PR to main is merged:
1. `auto-release.yml` creates tag `v{NEW_VERSION}`
2. `publish.yml` publishes to JSR
After release is published, backmerge main to develop:
```bash
git checkout develop
git pull origin develop
git merge origin/main
git push origin develop
```
This ensures develop has the version bump and CHANGELOG updates.
```bash
git checkout develop
git pull origin develop
deno task ci
git checkout -b release/v1.8.0
bash scripts/bump_version.sh
git add deno.json CHANGELOG.md
git commit -m "chore: bump version to 1.8.0"
git push -u origin release/v1.8.0
git checkout develop
git pull origin develop
git merge origin/main
git push origin develop
```
Leave a review
No reviews yet. Be the first to review this skill!