Skip to content

ci: enforce and validate conventional commits spec

João Pereira requested to merge ci-conventional-commits into master

This is a proposal to adopt the Conventional Commits 1.0 spec. The intent is to:

  • Enforce a consistent commit convention, which requires us to be more careful about their messages, leading to a sane commit history that is easier to navigate;
  • Be able to autogenerate changelog, tags, and releases, by auto determining the list of changes and the appropriate semantic version bump based on semantic release (next step).

This MR introduces a CI change to validate all commits from now onwards using commitlint. It also updates the contributing docs accordingly.

Additionally, pipelines for merged results have been enabled in the project settings so that the validations will also check the Merge branch '<MR branch>' into '<target branch>' commit message that will be applied to the target branch during merge.

We've been using this (not just conventional commits, commitlint, and pipelines for merged results, but also semantic release - which this MR does not address, it'll be a future addition) in LabKit for a while with great success.

Edited by João Pereira

Merge request reports