In order for us to accept contributions, the merge request must fulfill certain requirements:
For security & regulations compliance, commits must be cryptographically signed by PGP or GPG. You can read more about this topic here:
Commit messages must be properly formatted (following the Conventional Commits rules). The reasons behind this decision are many:
- The project's history has to be "easy" to read.
- It's easier to extract statistics from the commit logs.
- It's easier to generate useful changelogs.
- This practice enforces that committers think twice about the nature of their contributions.
Because this requirement could generate too much overhead, we introduced some tooling to ease our lives.
Running npm install (which requires NodeJS) configures some git hooks that
will help the committer to generate compliant commit messages.
The merge request's commits have to present a "clean" history, git rebase is
your friend. This means:
- linear history
- commit messages matching what the commit does
- no "experimental" commits + their revert commits
Other AIP documents might also be important to decide if some contributions are acceptable or not. It's a good idea to read the previous work before trying to contribute new specifications.