Commit linting for semantic release

Semantic release parses commits for specific formats to determine what to write in it's changelog and what semver version to increment.

We need to figure out a way to lint commits as well as the MR titles (since MRs have the squash merge feature and will use the MR title as the commit message).

It might be a good idea to lint both commit messages and MR titles as one CI job but I'd love to hear other inputs about how to navigate this.

Type

Must be one of the following:

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing or correcting existing tests
  • chore: Changes to the build process or auxiliary tools and libraries such as documentation generation

https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#type

Edited by Clement Ho