-
Notifications
You must be signed in to change notification settings - Fork 41
Project Charter
This file contains the Mithril Project Charter, including but not limited to coding standards and best practices when contributing.
- Systematically tag
breaking change
ormanual-deployment
Issues and/or PRs. - Plan migrations: a/ with other teammates if support is needed and b/runthem locally or in a specific environment before merging.
- Merging code is not allowed from Monday to Thursday after 5pm CET, on Friday after 12pm CET and during the week-end.
- When merging a PR, a teammate must make sure that the merge is successfully deployed, and escalate with other teammates if needed.
- Teammates should be able to connect to the Mithril networks machines and operate runbooks processes.
-
Use rustfmt to format the code before submitting a commit.
-
Use clippy to format the code before submitting a commit.
Why
It helps the team keep a clean and neat codebase and straightforward commits diffs
Here are seven rules for great git commit messages:
-
Separate subject from body with a blank line
-
Limit the subject line to 50 characters (soft limit)
-
Capitalize the subject line
-
Do not end the subject line with a period
-
Use the imperative mood in the subject line and suffix with ticket number if applicable
-
Wrap the body at 72 characters (hard limit)
-
Use the body to explain what and why vs. how
Why
Git commit messages are our only source of why something was changed the way it was changed. So we better make the readable, concise and > detailed (when required).
Thanks to the Hydra team for these Git guidelines! Hydra Wiki
Here are the rules we tend to apply when using PR:
-
Name your branches properly: for example
username/branch-that-does-something
-
Prefer PR over main branch commit (they are reserved for very low impact updates and should used with parcimony)
-
Prefer Rebase and Merge than Create a merge commit
-
Prefer multiple atomic commits (it will facilitate the reviews)
-
Make sure the CI is all green 🟢 and that there's no lint warnings (such as the one from clippy for Rust)
-
Ask for reviewers (caution, they may depend on the modified directories): 1 approval is the general rule, wait for 2 or more if the impact is high
Why
Code reviews are important to share knowledge and to deliver better software quality!