Skip to content

Sharable commitlint config enforcing a max commit message header length when squashing GitHub PRs

License

Notifications You must be signed in to change notification settings

watson/commitlint-config-squash-pr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

commitlint-config-squash-pr

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 build status js-standard-style

Installation

npm install commitlint-config-squash-pr --save-dev

Usage example

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.

Supported CI systems

  • Travis CI
  • Jenkins (Multibranch Pipelines)

License

MIT

About

Sharable commitlint config enforcing a max commit message header length when squashing GitHub PRs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •