From cbefa3ce040f21233d054bbdb245289c610784ea Mon Sep 17 00:00:00 2001 From: Piotr Rozenfeld Date: Thu, 13 Apr 2023 14:14:58 +0000 Subject: [PATCH] documentation: expand commit message guidelines Signed-off-by: Piotr Rozenfeld --- .github/lint.yml | 23 +++++++++++++ CONTRIBUTING.md | 89 ++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 106 insertions(+), 6 deletions(-) diff --git a/.github/lint.yml b/.github/lint.yml index 0b94878571..f540291723 100644 --- a/.github/lint.yml +++ b/.github/lint.yml @@ -62,3 +62,26 @@ lint: - IGC - LOCI - HSD + - GSD + + commit_message_subject: + types: + - feature + - fix + - refactor + - documentation + - build + - ci + - performance + - test + scope: + values: + - usm + - ulls + - ooos + - debugger + - zebin + - sysman + - ocl + - wa + - internal \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e8eb7f9657..85bfe09d36 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,11 +24,16 @@ this will be verified by clang-format and clang-tidy (tool configuration is already included in NEO repository). ### 2. Certificate of origin + In order to get a clear contribution chain of trust we use the [signed-off-by language](https://01.org/community/signed-process) used by the Linux kernel project. Please make sure your commit message adheres to this guideline. -### 3. Patch submission +### 3. Commit message content + +All contributions should follow specific [commit message](#commit-message-guidelines) guidelines outlined below. + +### 4. Patch submission Create a pull request on github once you are confident that your changes are complete and fulfill the requirements above. Make sure your commit message follows these rules: @@ -37,12 +42,12 @@ the requirements above. Make sure your commit message follows these rules: * additional description can be provided in the body * title and body need to be separated by an empty line -### 4. Initial (cursory) review +### 5. Initial (cursory) review One of NEO maintainers will do an initial (brief) review of your code. We will let you know if anything major is missing. -### 5. Verification +### 6. Verification We'll double-check that your code meets all of our minimal quality expectations. Every commit must: * Build under Linux - using clang (8.0) and gcc (7.x ... 9.0) @@ -55,12 +60,12 @@ We'll double-check that your code meets all of our minimal quality expectations. When all the automated checks are confirmed to be passing, we will start actual code review process. -### 6. Code review +### 7. Code review We'll make sure that your code fits within the architecture and design of NEO, is readable and maintainable. Please make sure to address our questions and concerns. -### 7. Patch disposition +### 8. Patch disposition We reserve, upon conclusion of the code review, the right to do one of the following: 1. Merge the patch as submitted @@ -75,4 +80,76 @@ Your patch may be reverted later in case of major regression that was not detect If you are an Intel Employee *and* you want to contribute to NEO as part of your regular job duties please: * Contact us in advance -* Make sure your github account is linked to your intel.com email address \ No newline at end of file +* Make sure your github account is linked to your intel.com email address + +## Commit Message Guidelines + +### Introduction + +The intention of the strict rules for the content and structure of the commit message is to make project history more readable. +Both Conventional Commits [specification](https://www.conventionalcommits.org/en/v1.0.0/) and Angular's [Commit Message Guidelines](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#commit) inspired the rules outlined below + +### Commit Message Format + +Each commit message consists of a **header**, a **body** and a **footer**. The header has a special +format that includes a **type**, a **scope** and a **subject**: + +``` +(): + + + +