commit-analyzer
commit-analyzer copied to clipboard
Prevent semantic release from being triggered by certain default prefixes
Hi everyone! I'm currently using Semantic Release in my project and I'd like to configure it so that it doesn't trigger a release for commits labeled as fix
or feat
. However, I couldn't find a straightforward way to achieve this in the existing configuration options.
I propose adding a feature or configuration option that allows users to exclude specific commit types, by setting a certain prefix to false
. I found an example for scopes.
Here is an example of my package.json file:
{
"name": "semantic-release-image",
"release": {
"branches": ["main"],
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"releaseRules": [
{
"type": "feat",
"release": "prerelease"
},
{
"type": "feat",
"scope": "release",
"release": "minor"
},
{
"type": "perf",
"release": "prerelease"
},
{
"type": "BREAKING CHANGE",
"release": "major"
},
{
"type": "revert",
"release": "prerelease"
},
{
"type": "fix",
"release": "prerelease"
}
],
"parserOpts": {
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES"]
}
}
]
[
"@semantic-release/github"
]
]
}
}
As you can see, now I set those default prefixes to prerelease
and that's not what I am aiming for.
If this feature exists, please, let me know how to achieve it.
Thanks in advance!
options for changing the commit convention are described here: https://semantic-release.gitbook.io/semantic-release#commit-message-format
if you need something more custom, you are likely needing to create your own custom preset
You can also do this "commits that contains '[skip release]' or '[release skip]' in their message will be excluded from the commit analysis" @Menosc although not as convenient.
You can also do this "commits that contains '[skip release]' or '[release skip]' in their message will be excluded from the commit analysis" @Menosc although not as convenient.
Another thing I do to skip a release is just not use Angular commit convention and the commit is ignored.
@travi @hobbitronics thank you guys! I chose [skip release] as a quick fix for now. I do appreciate your answers. You helped a lot. I felt the lack of this information in the official documentation. Is it worth adding it there? If yes, I can do that.