diff options
author | Matthias Beyer <matthias.beyer@ifm.com> | 2022-06-22 11:07:48 +0200 |
---|---|---|
committer | Didier Wenzek <didier.wenzek@free.fr> | 2022-08-30 15:49:32 +0200 |
commit | 16c7ac120ad53732e942710bea97a9a3d2b4283c (patch) | |
tree | 985ffcf31f286d6af79d20539127667db49aebc3 | |
parent | c09d8d0e0f2532b647339ef4abd6e6e6ca8c7f6e (diff) |
Add content for "clear commits" section
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
-rw-r--r-- | GOVERNANCE.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 453446de..4dec595d 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -101,6 +101,51 @@ core contributors = [SAG, IFM] - clear commits + Having clear, consise and well-written commit messages for all changes is not + only a indicator for the seriousness of the project, but also a way to ensure + sustainable development via replicability of the sources of the project. + + Because of this, we try to ensure the highest possible quality for each + individual commit message. + + Because such a thing cannot necessarily or in full be enforced via tooling, it + remains mainly the obligation of a reviewer of a changeset to ensure + + * Seclusiveness of the individual commits + * that one commit is one atomic change, and not an accummulation of several + individual and seperate changes + * that the commit message of the change expresses why the change was made + + Every reviewer of a pull request is asked to review not only the changes, but + also the commit messages. + Reviewers are explicitely empowered and actually encouraged to block pull + requests that contain commit messages that do not meet a certain standard + even and especially also if the proposed changes are acknowledged. + + The contributor should document why they implemented a change properly. A good + rule of thumb is that if a change is larger than 60 lines, a commit message + without a body won't suffice anymore. + The more lines are touched by an individual commit, the more lines should be + used to explain the change. + + The project implements lints using github actions to meet such criteria. + + Also, some hard criteria is checked via github action lints: + + * The `Signed-off-by` trailer lint must be present in all commits (also see + section "Ensuring the Signed-off-by-trailer") + * The commit body must meet the default formatting of a commit message, that + is + * Subject line not longer than 50 characters + * Subject capitalized + * No period at the end of the subject + * Imperative mood in the subject + * Second line empty + * Body lines not longer than 72 characters + + Commits using the `--fixup` or `--squash` feature of `git-commit` are allowed, + but won't be merged (read more about this in the "merge strategies" section). + - Ensuring the Signed-off-by-trailer Contributors need to sign the "Contributor License Agreement". They do so by signing off each individual commit with a so-called "Signed-off-by Trailer". |