Improve linting/project configuration for semantic release/conventional commits
Every now and then, an MR is merged which includes commits (e.g., !2388 (merged)) which don't follow conventional commit guidelines, resulting no new release once the MR is merged, leading to a confused author.
This happens when the MR has multiple commits and the MR is set to squash on merge, which takes the MR title as the squashed commit message. (Are there any other situations?)
I propose we:
- Add/update the Danger rules to disallow non-conventional commit messages (if we don't already)
- Disallow squash commits when merging
See also previous work around this.
Pros
- Enforces use of conventional commit messages, which at the moment can be bypassed, usually accidentally.
- Eliminate confusion about why no release gets triggered sometimes (e.g. see all related merge requests)
Cons
- Suggestions applied in GitLab must have valid commit messages, otherwise they need to be fixed locally and force-pushed.
- Makes contributing slightly less easy if you're not familiar with the project.
Edited by Mark Florian