The .releaserc.json file is configured to work with repository rules that require pull requests for changes to the main branch.
- ✅ GitHub Releases: Automatic release creation with assets
- ✅ NPM Publishing: Automatic package publishing to npm
- ✅ Changelog Generation: Automatic CHANGELOG.md updates in releases
- ✅ Coverage Reports: Attached to releases as assets
- ✅ Release Comments: Automatic PR/issue comments on releases
- ❌ Git Plugin: Removed due to repository rules requiring PR workflow
- No automatic commits back to repository
- Changelog updates only appear in GitHub releases, not committed to repo
- Package.json version stays static (not auto-bumped)
The repository has organization-level rules that require:
- Changes must be made through pull requests
- Required code owner review
- Dismiss stale reviews on push
The @semantic-release/git plugin attempts to push commits directly to main, which violates these rules and causes release failures.
If you need changelog commits in the repository, you could:
- Use a bot account with bypass permissions
- Create a separate workflow that creates PRs with changelog updates
- Manually accept that changelogs only exist in GitHub releases
- Semantic release creates GitHub releases with changelogs
- NPM packages are published automatically
- Version numbers in package.json remain static
- All release information is available in GitHub releases