Skip to content

feat: implement automated semver system with test branch workflow#14

Merged
jerfowler merged 7 commits intomainfrom
test
Sep 6, 2025
Merged

feat: implement automated semver system with test branch workflow#14
jerfowler merged 7 commits intomainfrom
test

Conversation

@jerfowler
Copy link
Copy Markdown
Owner

Automated Semantic Versioning & Test Branch Workflow

Summary

This PR implements a comprehensive automated versioning and release management system with an efficient test→main branch workflow strategy.

Key Features

Automated Semantic Versioning

  • bump-version.cjs script - Analyzes commits for automatic version determination
  • Conventional commits support - feat/fix/chore automatic categorization
  • CHANGELOG.md generation - Automated changelog with proper categorization
  • Git tag creation - Automatic semantic version tagging

Test Branch Workflow

  • test→main strategy - Simplified integration branch for features
  • Automated promotion - Weekly/manual promotion with validation gates
  • Release workflow - Automatic NPM publishing on main branch commits
  • PR validation - Conventional commit checking with emoji support

GitHub Actions Workflows

  • release.yml - Automated versioning, tagging, and NPM publishing
  • promote.yml - test→main promotion with comprehensive validation
  • pr-validation.yml - PR title/commit message validation (fixed for emojis)
  • test-validation.yml - Optimized test branch validation

Performance Optimizations

  • Reduced validation timeouts for efficiency
  • Fixed coverage validation portability issues
  • Optimized memory and startup time tests
  • Streamlined CI/CD for faster feedback

Validation Requirements

  • 95%+ test coverage maintained
  • TypeScript strict mode compliance
  • Security audit clean
  • Performance benchmarks optimized
  • ESLint zero warnings

Branch Protection

  • main branch - Minimal required checks for efficiency
  • test branch - Integration testing validation
  • Feature branches - Created from test, merged via PR

Workflow Overview

Benefits

  • Zero manual versioning - Based on conventional commits
  • Automated releases - From commit to NPM in minutes
  • Quality gates - Essential validation only for efficiency
  • Clean history - Structured test→main workflow
  • Performance focused - Fast validation prioritizing efficiency

This implements the requested automated semver system with efficiency and best practices prioritized throughout.

🤖 Generated with Claude Code

Agent Communication MCP Server and others added 7 commits September 5, 2025 22:16
…stem

- Add automated semantic versioning with bump-version.js script
- Create release.yml workflow for automated NPM publishing
- Add promote.yml workflow for develop->main branch promotion
- Implement PR validation with conventional commit checking
- Add comprehensive test validation for develop branch
- Update CONTRIBUTING.md with new branch strategy and commit conventions
- Add version management and workflow scripts to package.json
- Configure branch protection rules for develop and main branches

Features:
- Zero-manual versioning based on conventional commits
- Automated CHANGELOG.md generation
- Weekly scheduled promotions from develop to main
- Comprehensive CI/CD with 95%+ test coverage requirements
- Security audit and performance validation gates
- GitHub release creation with automatic NPM publishing

Breaking changes: None - additive changes only

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Rename scripts/bump-version.js to scripts/bump-version.cjs
- Update package.json scripts to use .cjs extension
- Update release.yml workflow to use correct script name
- Fixes ES module scope error in Node.js execution

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update GitHub Actions workflows to use test branch
- Update package.json scripts for test branch promotion
- Update CONTRIBUTING.md documentation to reflect test→main workflow
- Simplify branch naming convention for clarity

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Fix PR validation to allow optional emoji prefixes in titles
- Replace bc command with awk for better portability in coverage validation
- Reduce performance validation timeout from 15 to 10 minutes
- Optimize memory test timing for faster validation
- Improve efficiency prioritizing speed over exhaustive checks

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Keep updated workflow files from test branch
- Maintain test→main branch strategy consistency
- Preserve performance optimizations and emoji handling fixes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Simplify emoji stripping logic to avoid malformed regex
- Fix 'unexpected EOF while looking for matching )' error
- Current PR title already follows conventional commit format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove auto-labeling section causing 'label not found' errors
- Keep core title and commit validation functionality
- Simplify workflow to focus on validation only

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@jerfowler jerfowler merged commit 301a58e into main Sep 6, 2025
28 of 31 checks passed
@jerfowler jerfowler deleted the test branch September 6, 2025 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant