This repository has been migrated from standard-version to a custom tag-based release workflow to comply with the organization policy that prohibits direct pushes to the main branch without PRs.
- Before: Version in
package.jsonwas updated and committed to main - After: Version stays at current value in the repository; actual versions are managed through git tags only
- Before: Manual trigger with explicit version type (major/minor/patch) that commits to main
- After: Manual trigger with explicit version type that only creates tags
- Old workflow:
production-build.yml(can be deprecated) - New workflow:
version-release.yml
- Main branch: Only allows major and minor releases
- Hotfix branches: Only allows patch releases
- Validation enforced in workflow
- No commits to main: Workflow creates tags without modifying files in the repository
- Version updates during build: The
scripts/update-versions.jsscript updates package.json versions during CI/CD build time only - GitHub releases: Created with auto-generated release notes
- NPM publishing: Uses the version from the git tag, not from package.json
Releases are triggered via GitHub Actions workflow dispatch:
- Go to Actions tab in GitHub
- Select "Version and Release" workflow
- Click "Run workflow"
- Select branch (main or hotfix/*)
- Select release type (major, minor, patch)
Can also be triggered via:
- Repository dispatch events
- Weekly schedule (Thursdays at 5 PM)
- Validation: Ensures patch releases only on hotfix branches, major/minor only on main
- Version Calculation: Increments version based on selected type
- Tag Creation: Creates and pushes git tag
- GitHub Release: Creates release with auto-generated notes
- Build & Publish: Builds extension and publishes to NPM
scripts/update-versions.js- Updates package.json versions during build.github/workflows/version-release.yml- New release workflow
- Create version update script
- Create new GitHub workflow with branch validation
- Remove
.versionrcfile - Remove semantic-release dependencies
- Deprecate old
production-build.ymlworkflow - Update team documentation
If needed, to rollback:
- Restore
.versionrcfile - Revert package.json to use
standard-version - Use
production-build.ymlworkflow - Delete
version-release.ymlworkflow