Skip to content

ci: use the conventionalcommits preset so breaking changes are released - #26

Merged
Bonajo merged 1 commit into
mainfrom
ci/conventionalcommits-preset
Sep 22, 2026
Merged

Bonajo merged 1 commit into
mainfrom
ci/conventionalcommits-preset

Conversation

@Bonajo

@Bonajo Bonajo commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

With the default (angular) preset semantic-release doesn't understand ! after the type: a PR titled feat!: … or refactor!: … (without a BREAKING CHANGE: footer) resulted in no release at all, while the README says it results in a major release.

Changes

  • .releaserc.json: the commit analyzer and the release-notes generator use the conventionalcommits preset.
  • semantic-release.yml: install conventional-changelog-conventionalcommits@9 via the action's extra_plugins. Version 10 needs a newer changelog writer than the release-notes generator bundled with semantic-release 25 and fails when generating the release notes.
  • README: ! after any type → major; perf: results in a patch release (it was listed as "no release"); revert: → no release.

Tested locally

  • Commit analyzer with the preset: feat!:/refactor!: → major, BREAKING CHANGE: footer → major, feat: → minor, fix:/perf: → patch, docs:/chore:/ci:/build:/refactor:/test:/style:/revert: → no release. With the current config feat!: → no release.
  • Full semantic-release@25 --dry-run with this config (on refactor!: remove unused create_zip prepare-assignment/toolbox#16): "The next release version is 1.0.0", release notes with a "⚠ BREAKING CHANGES" section.

A ci: title doesn't trigger a release.

@Bonajo
Bonajo merged commit 8ab22b6 into main Sep 22, 2026
12 checks passed
@Bonajo
Bonajo deleted the ci/conventionalcommits-preset branch September 22, 2026 06:03
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