Open natesilva opened 1 year ago
I had the same issue like you.
But I found a solution by adding {breaking: true, release: 'major'}
on my releaseRules
{
preset: 'conventionalcommits',
releaseRules: [
{ breaking: true, release: 'major' },
{ type: 'feat', release: 'minor' },
{ type: 'feature', release: 'minor' },
{ type: 'fix', release: 'patch' },
{ type: 'style', release: 'patch' },
{ type: 'refactor', release: 'patch' },
{ type: 'perf', release: 'patch' },
{ type: 'build', release: 'patch' },
{ type: 'chore', release: 'patch' },
{ type: 'revert', release: 'patch' }
]
}
I also had the same issue when I tried to commit a perf
commit with BREAKING CHANGE:
in the body, I was expecting a major release but instead it triggers the patch.
"@semantic-release/commit-analyzer",
{
"preset": "conventionalcommits",
"parserOpts": {
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
},
"releaseRules": [
{ "type": "docs", "release": "patch" },
{ "type": "refactor", "release": "patch" },
{ "type": "style", "release": "patch" },
{ "type": "test", "release": "patch" },
{ "type": "ci", "release": "patch" },
{ "type": "chore", "release": "patch" },
{ "type": "perf", "release": "patch" }
]
}
Is there is any way to add multiple types with multiple release?
Or something to override the rules if it found the BREAKING CHANGE:
word in the body of the commit message?
I had the same issue like you.
But I found a solution by adding
{breaking: true, release: 'major'}
on my releaseRules{ preset: 'conventionalcommits', releaseRules: [ { breaking: true, release: 'major' }, { type: 'feat', release: 'minor' }, { type: 'feature', release: 'minor' }, { type: 'fix', release: 'patch' }, { type: 'style', release: 'patch' }, { type: 'refactor', release: 'patch' }, { type: 'perf', release: 'patch' }, { type: 'build', release: 'patch' }, { type: 'chore', release: 'patch' }, { type: 'revert', release: 'patch' } ] }
Hello,
I have the same problem, with this solution I solved it.
thank you
@ajcerezo which solution do you mean?
This solution of @RaphaelNeumann
I had the same issue like you.
But I found a solution by adding
{breaking: true, release: 'major'}
on my releaseRules{ preset: 'conventionalcommits', releaseRules: [ { breaking: true, release: 'major' }, { type: 'feat', release: 'minor' }, { type: 'feature', release: 'minor' }, { type: 'fix', release: 'patch' }, { type: 'style', release: 'patch' }, { type: 'refactor', release: 'patch' }, { type: 'perf', release: 'patch' }, { type: 'build', release: 'patch' }, { type: 'chore', release: 'patch' }, { type: 'revert', release: 'patch' } ] }
We’re using the
conventionalcommits
preset. In this preset, adding an exclamation after the type triggers a breaking change/major version bump.Using the default
releaseRules
this works.feat!:
,fix!:
andperf!:
are recognized as major/breaking changes.In fact, anything with an exclamation triggers a major/breaking change, such as
docs!:
or evenallGloryToTheHypnoToad!:
Now we want to add
refactor
as a type.After adding this,
refactor:
triggers apatch
change, as expected.But
refactor!:
no longer triggers a major version bump.How do we get this to work?
Edit to add version info:
semantic-release 19.0.5
,@semantic-release/commit-analyzer 9.0.2
, Node 16.19.0