Improve commit-lint config
I've tried commitlint, having it fail on a commit titled "docs: Extend AUTHORS file". I see several different issues.
- It seems to check only the commit message of the latest commit, or more precisely ${CI_COMMIT_MESSAGE}. It should somehow check the commit message for all commits in the merge request. Unclear to me how to do that, but i'd expect it's a common commitlint requirement? With current behavior, if you have a commitlint failure, and push one more commit with an accepted commit message, then all is green.
- It rejects the all upper-case filename AUTHORS. I think it would be helpful to get warnings but not errors on unusual case. Again, not sure how to do that. One could maybe have one job with mandatory commitlint rules, and one job with warning-only, with allow_failure: true in .gitlab-ci.yml. Or find a way to wire commitlint exitcode to ci warning/failure.
- The default rules also ban "foo: Message", and require all lower-case "foo: message". I think initial capital on the subject (commitlint term for the message after tag and scope) is prettier, and it seems to be a common convention in old commits. So if we want to use commitlint to get more consistency, I think it should mandate a capital letter at the start of the subject.