Sharable commitlint
config for enforcing a maximum commit message
header length, taking into account the larger size of squashed PR
commit messages generated when using the "Squash and merge" button in
GitHub PRs.
When using the "Squash and merge" button on a GitHub PR, the PR ID (e.g.
234) will be appended to the end of the resulting squashed commit
message in the form (#234)
. This makes the final commit message
header longer than the commit message header that commitlint
validated
in the PR, potentially resulting in the final commit failing to pass CI.
This module takes this into account when validating the commit message before the PR is merged.
npm install commitlint-config-squash-pr --save-dev
In this example we're extending the popular
@commitlint/config-conventional
ruleset by using a local
commitlint.config.js
file:
// commitlint.config.js
module.exports = {
extends: [
'squash-pr', // the commitlint-config- prefix is implied
'@commitlint/config-conventional'
]
}
Read more about Sharable configuration.
- Travis CI
- Jenkins (Multibranch Pipelines)