From e6b45a00e3ebed4a37dd3f01d7ca267aa566fddc Mon Sep 17 00:00:00 2001 From: Erika Gressi Date: Thu, 3 Mar 2022 17:20:05 +0100 Subject: [PATCH 1/8] utilities --- .../Contribution guide - Contribution flow.md | 7 ++ ...ribution guide - Generate module readme.md | 49 ++++++++++ ...bution guide - Get formatted RBAC roles.md | 91 +++++++++++++++++++ docs/wiki/Contribution guide.md | 11 +++ 4 files changed, 158 insertions(+) create mode 100644 docs/wiki/Contribution guide - Contribution flow.md diff --git a/docs/wiki/Contribution guide - Contribution flow.md b/docs/wiki/Contribution guide - Contribution flow.md new file mode 100644 index 0000000000..4d3193bc26 --- /dev/null +++ b/docs/wiki/Contribution guide - Contribution flow.md @@ -0,0 +1,7 @@ +Create / pick an issue at aka.ms/CARML +Fork the repository +Create a branch +Implement your contribution +Depending on the contribution (e.g., module, pipeline) note the design guidelines in the CARML wiki +If it's a module change, test the code using the pipeline(s) against your environment +Open a PR, reference the badge status of your pipeline run and link your issue to it diff --git a/docs/wiki/Contribution guide - Generate module readme.md b/docs/wiki/Contribution guide - Generate module readme.md index e69de29bb2..c63b58bdb8 100644 --- a/docs/wiki/Contribution guide - Generate module readme.md +++ b/docs/wiki/Contribution guide - Generate module readme.md @@ -0,0 +1,49 @@ +As per CARML module design structure, every module in the CARML library requires a ReadMe markdown file documenting the set of deployable resource types, input and output parameters and a set of relevant template references from the official Azure Resource Reference documentation. + +The ReadMe generator utility aims to simplify contributing to the CARML library, as it supports creating from scratch or updating the module ReadMe markdown file. + +--- + +### _Navigation_ + +- [Location](#location) +- [How it works](#what-it-does) + - [Special case: 'Parameter Usage' section](#special-case-parameter-usage-section) +- [How to use it](#how-to-use-it) + +--- +# Location + +You can find the script under `/utilities/tools/Set-ModuleReadMe.ps1` + +# How it works + +1. Using the provided template path, the script first makes sure to convert it to ARM/JSON if necessary (i.e. if a path to a Bicep file was provided) +1. If the intended readMe file does not yet exist in the expected path, it is generated with a skeleton (with e.g. a generated header name) +1. It then goes through all sections defined as `SectionsToRefresh` (by default all) and refreshes the section content (for example for the `Parameters`) based on the values in the ARM/JSON Template. It detects sections by their header and regenerates always the full section. +1. Once all are refreshed, the current ReadMe file is overwritten. **Note:** The script can be invoked with a `WhatIf` in combination with `Verbose` to just receive an console-output of the updated content. + +## Special case: 'Parameter Usage' section + +The `Parameter Usage` examples are located just beneath the `Parameters` table. They are intended to show how to use complex objects/arrays that can be provided as parameters, excluding child-resources as they have their own readMe. + +**For the most part, this section is to be populated manually**. However, for a specific set of common parameters, we automatically add their example to the readMe if the parameter exists in the template. At the time of this writing these are: +- Private Endpoints +- Role Assignments +- Tags +- User Assigned Identities + +To be able to change this list with minimum effort, the script reads the content from markdown files in the folder: `utilities/tools/moduleReadMeSource` and matches their title against the parameters of the template file. If a match is found, it's content is added to the readme alongside the generated header. This means, if you want to add another case, you just need to add a new file to the `moduleReadMeSource` folder and follow the naming pattern `resourceUsage-.md`. + +For example, the content of file `resourceUsage-roleAssignments.md` in folder `moduleReadMeSource` is added to a template's readMe if it contains a parameter `roleAssignments`. The combined result is: + +```markdown +### Parameter Usage: `roleAssignments` + +<[resourceUsage-roleAssignments.md] file content> +``` + +# How to use it + +For details on how to use the function please refer to the script's local documentation. +> **Note:** The script must be loaded before the function can be invoked diff --git a/docs/wiki/Contribution guide - Get formatted RBAC roles.md b/docs/wiki/Contribution guide - Get formatted RBAC roles.md index e69de29bb2..6b44812611 100644 --- a/docs/wiki/Contribution guide - Get formatted RBAC roles.md +++ b/docs/wiki/Contribution guide - Get formatted RBAC roles.md @@ -0,0 +1,91 @@ +Use this script to format a given raw 'Roles' table from Azure to the format required by either Bicep or ARM/JSON Templates in any RBAC deployment. + +--- + +### _Navigation_ + +- [Location](#location) +- [How it works](#what-it-does) +- [How to use it](#how-to-use-it) + +--- +# Location + +You can find the script under `/utilities/tools/Get-FormattedRBACRoles.ps1` + +# How it works + +1. From the provided raw and plain roles list, create a list of only the contained role names +1. Fetch all available roles from Azure +1. Go through all provided role names, match them with those from Azure to get the matching RoleDefinitionId and format a string like `'': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','')` for each match +1. Print the result to the terminal + +# How to use it + +The script does not accept any custom parameter per se, but expects you to replace the placeholder in the `rawRoles` variable inside the script + +```PowerShell +$rawRoles = @' + +'@ +``` + +To get the list of roles in the expected format: +1. Navigate to Azure +1. Deploy one instance of the service you want to fetch the roles for +1. Navigate to the `Access Control (IAM)` blade in the resource +1. Open the `Roles` tab +1. Set the `Type` in the dropdown to `BuiltInRole` + + Complete deployment flow filtered + +1. Select and copy the entire table as is to the PowerShell variable. + + The result should look similar to + + ```PowerShell + $rawRoles = @' + Owner + Grants full access to manage all resources, including the ability to assign roles in Azure RBAC. + builtInRole + General + View + Contributor + Grants full access to manage all resources, but does not allow you to assign roles in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries. + BuiltInRole + General + View + Reader + View all resources, but does not allow you to make any changes. + BuiltInRole + General + View + '@ + ``` +1. Execute the script. The output for the above example would be + + ```yml + VERBOSE: Bicep + VERBOSE: ----- + 'Owner': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','8e3af657-a8ff-443c-a75c-2fe8c4bcb635') + 'Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','b24988ac-6180-42a0-ab88-20f7382dd24c') + 'Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','acdd72a7-3385-48ef-bd42-f606fba81ae7') + VERBOSE: + VERBOSE: ARM + VERBOSE: --- + "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions','8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", + "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions','b24988ac-6180-42a0-ab88-20f7382dd24c')]", + "Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions','acdd72a7-3385-48ef-bd42-f606fba81ae7')]", + ``` +1. Copy the output into the RBAC file into the `buildInRoleNames` variable. Again, for the same example using bicep this would be: + + ```bicep + var builtInRoleNames = { + 'Owner': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') + 'Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') + 'Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7') + } + ``` + +For further details on how to use the function please refer to the script's local documentation. +> **Note:** The script must be loaded before the function can be invoked diff --git a/docs/wiki/Contribution guide.md b/docs/wiki/Contribution guide.md index e69de29bb2..e535b8871d 100644 --- a/docs/wiki/Contribution guide.md +++ b/docs/wiki/Contribution guide.md @@ -0,0 +1,11 @@ +This section outlines how you can contribute to the repository. + +--- + +### _Navigation_ + +- [Contribution flow](./Contribution%20guide%20-%20Contribution%20flow) +- [Generate module Readme](./Contribution%20guide%20-%20Generate%20module%20Readme) +- [Get formatted RBAC roles](./Contribution%20guide%20-%20Get%20formatted%20RBAC%20roles) + +--- From c591142683cb98911246f823a7b9b3125af32cfd Mon Sep 17 00:00:00 2001 From: Erika Gressi Date: Thu, 3 Mar 2022 17:32:48 +0100 Subject: [PATCH 2/8] contribution flow --- .../Contribution guide - Contribution flow.md | 15 +++++++++++++++ docs/wiki/Contribution guide.md | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/wiki/Contribution guide - Contribution flow.md b/docs/wiki/Contribution guide - Contribution flow.md index 4d3193bc26..f4cbf5caa9 100644 --- a/docs/wiki/Contribution guide - Contribution flow.md +++ b/docs/wiki/Contribution guide - Contribution flow.md @@ -1,3 +1,18 @@ +This section outlines the contribution flow to the CARML repository. + +--- + +### _Navigation_ + +- [CARML issue](#CARML-issue) +- [Environment setup](#Environment-setup) +- [Develop](#Develop) +- [Validate](#Validate) +- [Open a PR](#Open-a-PR) + +--- + + Create / pick an issue at aka.ms/CARML Fork the repository Create a branch diff --git a/docs/wiki/Contribution guide.md b/docs/wiki/Contribution guide.md index e535b8871d..6a5dd4a031 100644 --- a/docs/wiki/Contribution guide.md +++ b/docs/wiki/Contribution guide.md @@ -1,4 +1,4 @@ -This section outlines how you can contribute to the repository. +This section provides the step-by-step process we suggest to follow for contributions to our repository. It also outlines details on specific utilities developed to support you with this task. --- From 227bc139fa3dd3656eca49b0a19479c4125c5991 Mon Sep 17 00:00:00 2001 From: Erika Gressi Date: Fri, 4 Mar 2022 13:20:33 +0100 Subject: [PATCH 3/8] contribution env setup --- .../Contribution guide - Contribution flow.md | 32 ++++++++++++++++--- docs/wiki/Contribution guide.md | 2 +- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/docs/wiki/Contribution guide - Contribution flow.md b/docs/wiki/Contribution guide - Contribution flow.md index f4cbf5caa9..4b6bb7cdde 100644 --- a/docs/wiki/Contribution guide - Contribution flow.md +++ b/docs/wiki/Contribution guide - Contribution flow.md @@ -4,7 +4,7 @@ This section outlines the contribution flow to the CARML repository. ### _Navigation_ -- [CARML issue](#CARML-issue) +- [Create of pick up an issue](#Create-or-pick-up-an-issue) - [Environment setup](#Environment-setup) - [Develop](#Develop) - [Validate](#Validate) @@ -12,11 +12,35 @@ This section outlines the contribution flow to the CARML repository. --- +# Create or pick up an issue -Create / pick an issue at aka.ms/CARML -Fork the repository -Create a branch +We kindly ask to have an issue mapped to the contribution you'd like to make. +How you proceed from here depends on your particular situation: + +- If you just want to contribute to this project, but don't know yet where and how, feel free to navigate the the 'Projects' tab on the repository, check what items are currently still in the 'to-do' swim lane and pick one that speaks to you. In this case you should assign the item to yourself / or reach out to discuss its content & priority. + + Projects Tab + + > Note: For starters we suggest to search for issues labelled with `good first issue`. + +- If you find a bug or have an idea that you'd also like to work on, feel free to create an issue in the corresponding GitHub section, assign it to yourself and the project and get started. + + > Note: If you don't feel like working on that alone, you can label the issue with `help wanted` to let the community know. + +# Environment setup + +The preferred method of contribution requires you to create your own fork and create pull requests into the source repository from there. To set the fork up, please follow the process described in the ['Getting started - Setup environment'](./Getting%20started%20-%20Setup%20environment) section. + +In case your contribution involves changes to the library (the modules) and/or to the CI environment (the pipelines), you need to setup the full environment, such as GitHub secrets and token replacement, as detailed in the ['Getting started'](./Getting%20started) section and related sub-pages. + +In case you want to contribute to the documentation, you can limit the setup to forking the repository and clone your fork locally. + +# Develop Implement your contribution Depending on the contribution (e.g., module, pipeline) note the design guidelines in the CARML wiki + +# Validate If it's a module change, test the code using the pipeline(s) against your environment + +# Open a PR Open a PR, reference the badge status of your pipeline run and link your issue to it diff --git a/docs/wiki/Contribution guide.md b/docs/wiki/Contribution guide.md index 6a5dd4a031..82ecb0cfd8 100644 --- a/docs/wiki/Contribution guide.md +++ b/docs/wiki/Contribution guide.md @@ -1,4 +1,4 @@ -This section provides the step-by-step process we suggest to follow for contributions to our repository. It also outlines details on specific utilities developed to support you with this task. +This section provides the step-by-step process we suggest to follow for contributions to our repository. It also provides details on specific utilities developed to support you with this task. --- From 4e8b336a966cdc3c41285b2a326d1388064c4cd6 Mon Sep 17 00:00:00 2001 From: Erika Gressi Date: Fri, 4 Mar 2022 15:39:06 +0100 Subject: [PATCH 4/8] validate --- .../wiki/Contribution guide - Contribution flow.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/wiki/Contribution guide - Contribution flow.md b/docs/wiki/Contribution guide - Contribution flow.md index 4b6bb7cdde..5927e5ce8c 100644 --- a/docs/wiki/Contribution guide - Contribution flow.md +++ b/docs/wiki/Contribution guide - Contribution flow.md @@ -1,5 +1,7 @@ This section outlines the contribution flow to the CARML repository. +Depending on the contribution, the number and execution of the required below steps may vary. + --- ### _Navigation_ @@ -15,7 +17,7 @@ This section outlines the contribution flow to the CARML repository. # Create or pick up an issue We kindly ask to have an issue mapped to the contribution you'd like to make. -How you proceed from here depends on your particular situation: +How you proceed from here depends on the scenario: - If you just want to contribute to this project, but don't know yet where and how, feel free to navigate the the 'Projects' tab on the repository, check what items are currently still in the 'to-do' swim lane and pick one that speaks to you. In this case you should assign the item to yourself / or reach out to discuss its content & priority. @@ -31,10 +33,10 @@ How you proceed from here depends on your particular situation: The preferred method of contribution requires you to create your own fork and create pull requests into the source repository from there. To set the fork up, please follow the process described in the ['Getting started - Setup environment'](./Getting%20started%20-%20Setup%20environment) section. -In case your contribution involves changes to the library (the modules) and/or to the CI environment (the pipelines), you need to setup the full environment, such as GitHub secrets and token replacement, as detailed in the ['Getting started'](./Getting%20started) section and related sub-pages. - In case you want to contribute to the documentation, you can limit the setup to forking the repository and clone your fork locally. +In case your contribution involves changes to the library (the modules) and/or to the CI environment (the pipelines), you need to setup the full environment, such as GitHub secrets and token replacement, as detailed in the ['Getting started'](./Getting%20started) section and related sub-pages. This will allow you to test your changes against your environment before requesting to merge them to the main repo. + # Develop Implement your contribution Depending on the contribution (e.g., module, pipeline) note the design guidelines in the CARML wiki @@ -42,5 +44,11 @@ Depending on the contribution (e.g., module, pipeline) note the design guideline # Validate If it's a module change, test the code using the pipeline(s) against your environment + + +In case you want to contribute to the documentation, you can skip this step. + +Test your code leveraging the CARML CI environment, as detailed in the Pipelines usage section. + # Open a PR Open a PR, reference the badge status of your pipeline run and link your issue to it From f285020476f6ad9ae606cbd61ecbf1c6273bcf5c Mon Sep 17 00:00:00 2001 From: Erika Gressi Date: Fri, 4 Mar 2022 15:41:13 +0100 Subject: [PATCH 5/8] validate --- docs/wiki/Contribution guide - Contribution flow.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/wiki/Contribution guide - Contribution flow.md b/docs/wiki/Contribution guide - Contribution flow.md index 5927e5ce8c..3e30d8cff5 100644 --- a/docs/wiki/Contribution guide - Contribution flow.md +++ b/docs/wiki/Contribution guide - Contribution flow.md @@ -42,13 +42,13 @@ Implement your contribution Depending on the contribution (e.g., module, pipeline) note the design guidelines in the CARML wiki # Validate -If it's a module change, test the code using the pipeline(s) against your environment - - +How you proceed from here depends on the scenario: In case you want to contribute to the documentation, you can skip this step. -Test your code leveraging the CARML CI environment, as detailed in the Pipelines usage section. +In case your contribution involves changes to the library (the modules) and/or to the CI environment (the pipelines), we kindly ask you to validate your updates against your environment before requesting to merge them to the main repo. Test your code leveraging the CARML CI environment, as detailed in the Pipelines usage section. # Open a PR Open a PR, reference the badge status of your pipeline run and link your issue to it + + From ad9338846d03b9402520f7c92216183d09539db6 Mon Sep 17 00:00:00 2001 From: Erika Gressi Date: Fri, 4 Mar 2022 19:27:14 +0100 Subject: [PATCH 6/8] home index --- docs/wiki/Home.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/wiki/Home.md b/docs/wiki/Home.md index 1948398e9f..ec54c68bcb 100644 --- a/docs/wiki/Home.md +++ b/docs/wiki/Home.md @@ -61,6 +61,7 @@ If you're unfamiliar with Infrastructure as Code, or wonder how you can use the - [Bicep to ARM/JSON conversion](./Interoperability%20-%20Bicep%20to%20ARM%20conversion) - [Register Azure DevOps pipelines](./Interoperability%20-%20Register%20Azure%20DevOps%20pipelines) - [Contribution guide](./Contribution%20guide) + - [Contribution flow](./Contribution%20guide%20-%20Contribution%20flow) - [Generate module Readme](./Contribution%20guide%20-%20Generate%20module%20Readme) - [Get formatted RBAC roles](./Contribution%20guide%20-%20Get%20formatted%20RBAC%20roles) - [Known issues](./Known%20issues) From 12bcb6be603531b6f3e85238562088f3f44528a1 Mon Sep 17 00:00:00 2001 From: Erika Gressi Date: Fri, 4 Mar 2022 20:38:55 +0100 Subject: [PATCH 7/8] contrib flow full --- .../Contribution guide - Contribution flow.md | 48 +++++++++++++----- docs/wiki/media/badgeDropdown.png | Bin 0 -> 18532 bytes docs/wiki/media/carmlStatusBadge.png | Bin 0 -> 42816 bytes 3 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 docs/wiki/media/badgeDropdown.png create mode 100644 docs/wiki/media/carmlStatusBadge.png diff --git a/docs/wiki/Contribution guide - Contribution flow.md b/docs/wiki/Contribution guide - Contribution flow.md index 3e30d8cff5..7e0d990723 100644 --- a/docs/wiki/Contribution guide - Contribution flow.md +++ b/docs/wiki/Contribution guide - Contribution flow.md @@ -6,10 +6,10 @@ Depending on the contribution, the number and execution of the required below st ### _Navigation_ -- [Create of pick up an issue](#Create-or-pick-up-an-issue) +- [Create or pick up an issue](#Create-or-pick-up-an-issue) - [Environment setup](#Environment-setup) -- [Develop](#Develop) -- [Validate](#Validate) +- [Implement the contribution](#Implement-the-contribution) +- [Validate the contribution](#Validate-the-contribution) - [Open a PR](#Open-a-PR) --- @@ -33,22 +33,46 @@ How you proceed from here depends on the scenario: The preferred method of contribution requires you to create your own fork and create pull requests into the source repository from there. To set the fork up, please follow the process described in the ['Getting started - Setup environment'](./Getting%20started%20-%20Setup%20environment) section. -In case you want to contribute to the documentation, you can limit the setup to forking the repository and clone your fork locally. +How you proceed from here depends on the scenario: + +- In case you want to contribute to the documentation, you can limit the setup to forking the repository and cloning your fork locally. -In case your contribution involves changes to the library (the modules) and/or to the CI environment (the pipelines), you need to setup the full environment, such as GitHub secrets and token replacement, as detailed in the ['Getting started'](./Getting%20started) section and related sub-pages. This will allow you to test your changes against your environment before requesting to merge them to the main repo. +- In case your contribution involves changes to the library (the modules) and/or to the CI environment (the pipelines), you need to setup the full environment, such as GitHub secrets and token replacement, as detailed in the ['Getting started'](./Getting%20started) section and related sub-pages. This will allow you to test your changes against your environment before requesting to merge them to the main repo. -# Develop -Implement your contribution -Depending on the contribution (e.g., module, pipeline) note the design guidelines in the CARML wiki +# Implement the contribution -# Validate How you proceed from here depends on the scenario: -In case you want to contribute to the documentation, you can skip this step. +- In case you want to contribute to the CARML Wiki, your updates need to happen through the main repo under the [docs/wiki](https://github.com/Azure/ResourceModules/tree/main/docs/wiki) folder. A dedicated pipeline included in the repository will perform a sync to the CARML Wiki once the docs contribution is merged. + +- In case your contribution involves changes to the library (the modules) and/or to the CI environment (the pipelines), we kindly ask you to +first review respectively the [Module design](./The%20library%20-%20Module%20design) and/or the [Pipeline design](./The%20CI%20environment%20-%20Pipeline%20design) sections to make sure your contribution complies with the repository design and principles. + +- In particular, if your contribution involves the creation of a new module or an update to an existing module: + - Make sure you also reflect your changes in the module `readme.md` file. Refer to the [Generate module Readme](./Contribution%20guide%20-%20Generate%20module%20Readme) section for details on how to leverage the Readme generator utility to support you with this task. + - If you are adding or updating role assignments to resources deployable by the module, refer to the [Get formatted RBAC roles](./Contribution%20guide%20-%20Get%20formatted%20RBAC%20roles) section for details on how to leverage the RBAC roles formatting utility to support you with this task. + - If applicable, make sure you set or update the major and minor versions in the corresponding module `version.json` file. + +# Validate the contribution + +Once the contribution is implemented and the changes are pushed to your forked repository, how you proceed depends on the scenario: -In case your contribution involves changes to the library (the modules) and/or to the CI environment (the pipelines), we kindly ask you to validate your updates against your environment before requesting to merge them to the main repo. Test your code leveraging the CARML CI environment, as detailed in the Pipelines usage section. +- In case you want to contribute to the documentation, you can skip this step. + +- In case your contribution involves changes to the library (the modules) and/or to the CI environment (the pipelines), we kindly ask you to validate your updates against your environment before requesting to merge them to the main repo. Test your code leveraging the CARML CI environment, as detailed in the [Pipeline usage](./The%20CI%20environment%20-%20Pipeline%20usage) section. # Open a PR -Open a PR, reference the badge status of your pipeline run and link your issue to it + +Finally, once your contribution is implemented and validated, open a PR for CARML maintainers to review. Make sure you: + +- Follow instructions you find in the PR template. +- Reference the issue number as per the [Create or pick up an issue](#Create-or-pick-up-an-issue) step. +- If applicable, please reference the badge status of your pipeline run. This badge will show the reviewer that the code changes were successfully validated & tested in your environment. To create a badge, first select the three dots (`...`) to the top right of the pipeline, and further the `Create status badge` option. + + Badge dropdown + + In the opening pop up, you first need to select your branch and then click on the `Copy status badge Markdown` + + Status badge diff --git a/docs/wiki/media/badgeDropdown.png b/docs/wiki/media/badgeDropdown.png new file mode 100644 index 0000000000000000000000000000000000000000..345343d7c48487b09a9563e757f6ebb1fb7411ee GIT binary patch literal 18532 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�evkgAW!rDMiV$UY$6}M!zDIPEMS0m7Xqw)ty#Uz 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
    1Y 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

    eb)6p~zRmS&Q9npZQ{ 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 literal 0 HcmV?d00001 From f4d339fd2d30ce9cf99b07796f001529283154e5 Mon Sep 17 00:00:00 2001 From: Erika Gressi Date: Fri, 4 Mar 2022 20:44:18 +0100 Subject: [PATCH 8/8] assignee --- docs/wiki/Contribution guide - Contribution flow.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/wiki/Contribution guide - Contribution flow.md b/docs/wiki/Contribution guide - Contribution flow.md index 7e0d990723..6ab0ec0c97 100644 --- a/docs/wiki/Contribution guide - Contribution flow.md +++ b/docs/wiki/Contribution guide - Contribution flow.md @@ -66,6 +66,7 @@ Once the contribution is implemented and the changes are pushed to your forked r Finally, once your contribution is implemented and validated, open a PR for CARML maintainers to review. Make sure you: - Follow instructions you find in the PR template. +- Set your Github handle as assignee. - Reference the issue number as per the [Create or pick up an issue](#Create-or-pick-up-an-issue) step. - If applicable, please reference the badge status of your pipeline run. This badge will show the reviewer that the code changes were successfully validated & tested in your environment. To create a badge, first select the three dots (`...`) to the top right of the pipeline, and further the `Create status badge` option.