* fix(ci): remove [skip ci] from version bump commits to allow PR checks
The [skip ci] flag was preventing PR checks from running on version bump PRs,
making it impossible to validate them before merge.
Changes:
- Remove [skip ci] from version bump commit message
- Update skip pattern to be more specific: '^chore: bump version to v'
- Rely on 3-layer loop prevention:
1. Primary: PR label checking (version-bump, automated)
2. Secondary: Commit title pattern matching
3. Removed: [skip ci] flag (was blocking PR checks)
This allows PR checks to run while still preventing infinite loops through
label-based detection and commit title pattern matching.
* chore: trigger CI checks
- Rename workflow: 'Post-Merge Version & Docs Sync' → 'Post-Merge Version Bump'
- Rename job: 'Create Version & Docs Sync PR' → 'Create Version Bump PR'
- Update branch naming: 'chore/version-docs-sync-*' → 'chore/version-bump-*'
- Update PR title: 'chore: version and docs sync v*' → 'chore: bump version to v*'
- Remove confusing 'Documentation Sync' section from PR body
- Simplify skip patterns (remove 'docs: sync' pattern)
- Remove 'documentation' label from version bump PRs
- Add note clarifying that docs are handled by separate workflow
This makes it clear that version bumps and documentation syncs are
separate workflows with different triggers and purposes.
* fix(ci): check only commit title for skip patterns
The workflow was incorrectly checking the entire commit body for [skip ci]
patterns, causing false positives when the body mentioned these patterns
in documentation.
Fixed by:
- Check only commit title (first line) for skip patterns
- Use git log --pretty=%s instead of %B for skip detection
- Still use full body for version bump type detection
This prevents false positives while maintaining loop prevention.
* chore: trigger CI checks
* feat(ci): implement PR-based version bumps with docs sync
Replace direct-push version bumping with PR-based workflow that respects
branch protection rules and combines version updates with documentation sync.
## Changes
### New Workflow: post-merge-pr.yml
- Creates automated PR for version bumps instead of pushing directly
- Combines version bump with documentation sync in single PR
- Respects branch protection rules (no bypass needed)
- Follows semantic versioning based on commit message
- Updates VERSION, package.json, and CHANGELOG.md
- Labels PR for easy identification
### Workflow Behavior
- Triggers on push to main (after PR merge)
- Detects version bump type from commit message (feat/fix/breaking)
- Creates branch: chore/version-docs-sync-TIMESTAMP
- Commits version changes with [skip ci] to prevent loops
- Creates PR with detailed description
- Allows manual review before version is applied
### Benefits
- ✅ Works with branch protection (no special permissions needed)
- ✅ Combines version + docs in one reviewable PR
- ✅ Maintains audit trail through PR process
- ✅ Allows manual adjustments before merge
- ✅ Prevents accidental version bumps
- ✅ Clear separation of concerns
### Disabled
- post-merge.yml → post-merge.yml.disabled (old direct-push workflow)
## Migration Notes
Going forward:
1. Merge PR to main
2. Workflow creates version bump PR automatically
3. Review and merge version bump PR
4. Manually create GitHub release (or add release workflow later)
This fixes the branch protection issues that were blocking automated version bumps.
* chore: trigger CI checks
* fix(ci): prevent version bump loop by checking PR labels
Add PR label detection to prevent infinite loop:
- Check if merged PR had 'version-bump' or 'automated' labels
- Skip version bump workflow if labels are present
- This prevents version bump PRs from triggering more version bump PRs
Flow:
1. Regular PR merges → Creates version bump PR (with labels)
2. Version bump PR merges → Detects labels → Skips workflow ✅
This ensures only actual feature/fix PRs trigger version bumps.