OpenWriterControle/.github/workflows/VERSION_BUMP_GUIDE.md
darrenhinde 9c68f9d8be feat: add automatic version bumping to CI/CD workflow
Auto Version Bump:
- Automatically bumps version when PRs are merged to main
- Detects version bump type from commit message:
  - feat: → minor bump (v0.1.0 → v0.2.0)
  - fix: → patch bump (v0.1.0 → v0.1.1)
  - feat!: → major bump (v0.1.0 → v1.0.0)
  - [alpha] → alpha bump (v0.1.0-alpha.1 → v0.1.0-alpha.2)
  - [beta] → beta bump
  - [rc] → rc bump
  - default → minor bump (if no type specified)

Automatic Actions:
- Updates VERSION file
- Updates package.json version
- Updates CHANGELOG.md with commit message
- Creates git tag (e.g., v0.2.0)
- Pushes changes back to main
- Adds [skip ci] to prevent infinite loop

Documentation:
- Added VERSION_BUMP_GUIDE.md with examples
- Clear commit message format guidelines
- Manual override instructions

Benefits:
- No manual version bumping needed
- Consistent versioning across the project
- Automatic changelog updates
- Git tags for every release
- Follows semantic versioning conventions
2025-11-26 22:06:36 +00:00

2.1 KiB

Version Bump Guide

This workflow automatically bumps versions when PRs are merged to main.

How It Works

When you merge a PR to main, the version is automatically bumped based on your commit message:

Commit Message Format

Use conventional commits to control version bumping:

Commit Message Version Bump Example
feat: add feature Minor v0.1.0 → v0.2.0
feat!: breaking change Major v0.1.0 → v1.0.0
fix: bug fix Patch v0.1.0 → v0.1.1
[alpha] message Alpha v0.1.0-alpha.1 → v0.1.0-alpha.2
[beta] message Beta v0.1.0-beta.1 → v0.1.0-beta.2
[rc] message RC v0.1.0-rc.1 → v0.1.0-rc.2
Any other message Minor (default) v0.1.0 → v0.2.0

Examples

# Feature (minor bump)
git commit -m "feat: add new agent capability"
# Result: v0.1.0 → v0.2.0

# Bug fix (patch bump)
git commit -m "fix: correct context loading"
# Result: v0.1.0 → v0.1.1

# Breaking change (major bump)
git commit -m "feat!: redesign agent API"
# Result: v0.1.0 → v1.0.0

# Alpha release
git commit -m "[alpha] improve prompt"
# Result: v0.1.0-alpha.1 → v0.1.0-alpha.2

# Default (minor bump)
git commit -m "improve documentation"
# Result: v0.1.0 → v0.2.0

What Happens Automatically

  1. ✅ Tests run (smoke tests for both agents)
  2. ✅ Version is bumped based on commit message
  3. ✅ CHANGELOG.md is updated with changes
  4. ✅ Git tag is created (e.g., v0.2.0)
  5. ✅ Changes are pushed back to main
  6. ✅ GitHub release can be created (optional)

Manual Override

If you want to bump version manually:

# Bump specific version type
npm run version:bump alpha
npm run version:bump beta
npm run version:bump rc
npm run version:bump patch
npm run version:bump minor
npm run version:bump major

# Commit and push
git add VERSION package.json CHANGELOG.md
git commit -m "chore: bump version to vX.Y.Z"
git tag vX.Y.Z
git push origin main --tags

Skipping Auto-Bump

Add [skip ci] to your commit message:

git commit -m "docs: update README [skip ci]"

This will skip both tests and version bumping.