From dec656f85e525c44930196f18439b7cb9ab30b28 Mon Sep 17 00:00:00 2001 From: Devdutt Shenoi Date: Tue, 9 Aug 2022 22:14:52 +0530 Subject: [PATCH] docs: Add message convention and release details --- CONTRIBUTING.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9d30d004..e0605c7f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,36 @@ # Contributing to rumqtt If you have loved using rumqtt and want to give back, we would love to have you open GitHub issues and PRs for features, bugs and documentation improvements. +We try to follow a fortnightly release cycle, with releases versioned in semver, maintaining a Changelog where changes are tracked and included within the PR where the changes are made. PRs shall only be squash merged and include a well written commit message with a format similar to the [Conventional Commits][convention] to better describe the changes and their relevance. The message format convention we shall use is as follows: + +``` +(): + +[BREAKING:] + +<Body> + +Signed off: <Contributor> + +[Issue:] + +Attribute: +``` +#### Squash Commit Message Convention +- `Tags` are used to describe the type of commit(e.g: `fix:`, `feat:`, `build:`, `chore:`, `ci:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`). +- The optional use of `Component` describes the module or specific component to which changes included in the commit are associated with. +- `Title` contains a brief description of the changes included in the commit, a single line summary. +- An optional `BREAKING` label could also be included with a message describing the change that is breaking an API exposed by the project. +- A compulsory `Body` must contain the descriptive explanation of the changes made within the commit and include any reasonings as to why they were included. +- A further section `Signed off:` will denote that the assoicated contributors have signed-off the code contained in the commit. +- An optional `Issue` section could describe any GitHub Issue associated with the commit. +- `Attribute` section is used to tag contributors to the PR. + rumqtt is licensed under the permissive [Apache License Version 2.0][license] and we accept contributions under the implied notion that they are made in complete renunciation of the contributors any rights or claims to the same after the code has been merged into the codebase. -Please make yourself familiar with the construction of rumqtt and read the [design docs][design] before making your first contribution to increase it's chances of being adopted. Please follow the [Code of Conduct][coc] when communicating with other members of the community and keep discussions civil, we are excited to have you make your first of many contributiions to this repository, welcome! +Before you start, please make yourself familiar with the architecture of rumqtt and read the [design docs][design] before making your first contribution to increase it's chances of being adopted. Please follow the [Code of Conduct][coc] when communicating with other members of the community and keep discussions civil, we are excited to have you make your first of many contributiions to this repository, welcome! +[convention]: https://www.conventionalcommits.org/en/v1.0.0/ [license]: LICENSE [design]: docs/design.md -[coc]: docs/CoC.md \ No newline at end of file +[coc]: docs/CoC.md