From b0728a485970427226226e3e6df1913f6858f6d5 Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Wed, 2 Apr 2025 10:46:15 -0700 Subject: [PATCH 01/18] Added "Best Practices" section to Pull Request guide so that a draft PR can be created so that others can collaborate on these updates. --- .../guides/governance/contributions/pull-requests/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index 83754f36e..dd5aefe20 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -59,6 +59,12 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem --- +## Best Practices + +1. + +--- + ## Frequently Asked Questions (FAQ) - Q: How does a pull request template improve contributions? From fe02dba201ce1b367c5bb3da57e3a5b924984cad Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Wed, 2 Apr 2025 10:47:33 -0700 Subject: [PATCH 02/18] Added missing "REMOVE" entry to list of "Proposed Changes" of the PULL_REQUEST_TEMPLATE.md because it was mentioned in the Pull Request guide. --- .github/PULL_REQUEST_TEMPLATE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 8ef73bbc1..2b02b8ead 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,6 +3,7 @@ ## Proposed Changes - [ADD] ... - [CHANGE] ... +- [REMOVE] ... - [FIX] ... ## Issues - Links to relevant issues From 04e26edf7f60acdaf8a30d0fc597e617c5b79b02 Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Mon, 14 Apr 2025 14:01:14 -0700 Subject: [PATCH 03/18] Corrected grammar for "REMOVE" list item in proposed changes list for PR templates. --- docs/guides/governance/contributions/pull-requests/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index dd5aefe20..fd5134a18 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -42,7 +42,7 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem - ***Proposed Changes***: - `[ADD]` for new features or content the contributor introduced. - `[CHANGE]` for modifications to existing features or code. - - `[REMOVE]` for removals features or code. + - `[REMOVE]` for removals of features or code. - `[FIX]` for bug fixes the contributor implemented. - ***Issues***: To link any related issues your PR addresses. This creates a traceable connection between the issue and the solution provided. - ***Testing***: To document how the contributor tested the changes. Including links to test results or noting the operating systems on which the tests were performed. This assures reviewers of the reliability and effectiveness of changes. From 7c850cbbd48e7b6888851fd2a989b5610dc9d8b3 Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Mon, 14 Apr 2025 14:33:13 -0700 Subject: [PATCH 04/18] Added code versioning best practices to PR guide. --- .../contributions/pull-requests/README.md | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index fd5134a18..b821a5624 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -61,7 +61,25 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem ## Best Practices -1. +### Versioning + +Versioning provides your development team and the consumers of your codebase the ability to keep track of the differences between the release states of your code. To faciliate versioning, we recommend the use of [semantic versioning](https://semver.org/) because it provides a simple set of guidelines that describe how to increment your version numbers based on the changes that are being introduced. Below is a short summary from the semantic versioning website that describe a typical version number scheme: + +> Given a version number MAJOR.MINOR.PATCH, increment the: +> +>1. MAJOR version when you make incompatible API changes +>2. MINOR version when you add functionality in a backward compatible manner +>3. PATCH version when you make backward compatible bug fixes +> +>Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format. + +#### Takeaways: +* Your team's versioning scheme may require additional delination between versions ala build identifiers, release desiginations (e.g. unstable, stable, prerelease), so have a discussion with your team about the code versioning convention the project will follow and document the versioning scheme to refer back to as new developers are onboarded or when there are questions about the adopted versioning scheme. +* For each pull request, ensure that the code changes are captured in the repo's CHANGELOG and that the changes are associated with a version number that follows the team's/project's code versioning scheme. + +### Automated Code Quality and Security Scans + + --- @@ -76,6 +94,7 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem **Authorship**: - [Rishi Verma](https://www.github.com/riverma) +- [Anil Natha](https://www.github.com/anilnatha) --- From afde1d3cac74ab7bb1ca976804724b926b710094 Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Mon, 14 Apr 2025 15:05:34 -0700 Subject: [PATCH 05/18] Added pull request reviewers and assignees best practice information to the PR guide. --- .../contributions/pull-requests/README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index b821a5624..c9170b512 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -37,7 +37,7 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem ## Step-by-Step Guide -1. **Team Discussion**: Discuss the benefits of a pull request template with your team. Gain consensus on adopting this approach for consistency in contributions. Below is an explanation of our recommended [Pull Request Template](pathname:///assets/governance/pull-requests/PULL_REQUEST_TEMPLATE.md) file's fields. Adjust as necessary. +1. **Team Discussion - Pull Request Template**: Discuss the benefits of a pull request template with your team. Gain consensus on adopting this approach for consistency in contributions. Below is an explanation of our recommended [Pull Request Template](pathname:///assets/governance/pull-requests/PULL_REQUEST_TEMPLATE.md) file's fields. Adjust as necessary. - ***Purpose***: To clearly state the intention behind the pull request. This helps reviewers understand the context and significance of your changes. - ***Proposed Changes***: - `[ADD]` for new features or content the contributor introduced. @@ -47,14 +47,16 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem - ***Issues***: To link any related issues your PR addresses. This creates a traceable connection between the issue and the solution provided. - ***Testing***: To document how the contributor tested the changes. Including links to test results or noting the operating systems on which the tests were performed. This assures reviewers of the reliability and effectiveness of changes. -2. **Create Template Directory**: +2. **Team Discussion - Pull Request Reviewers and Assignees**: Discuss the benefits of creating a `CODEOWNERS` file that informs GitHub of who should be designated as the reviewer(s) when a pull request is opened. Refer to the [GitHub documentation for Code Owners](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) for the specifics of how to to create and configure this file for your project's needs. See the best practices information in this guide titled "Designation of Pull-Request Reviewers and Assignees" for more clarity. + +3. **Create Template Directory**: - In your GitHub repository, create a `.github/` folder to hold community health files. -3. **Add Pull Request Template**: +4. **Add Pull Request Template**: - Copy the [Pull Request Template](pathname:///assets/governance/pull-requests/PULL_REQUEST_TEMPLATE.md) into `.github/PULL_REQUEST_TEMPLATE`. - Commit and push this file to the `main` branch of your repository. -4. **Usage**: +5. **Usage**: - Once set up, this template will automatically appear in the pull request description box for contributors to fill out. --- @@ -79,7 +81,13 @@ Versioning provides your development team and the consumers of your codebase the ### Automated Code Quality and Security Scans +### Designation of Pull-Request Reviewers and Assignees + +Pull requests need to be acted on in a timely manner to keep the team's development lifecycle running efficiently and so that they don't hinder the team's release schedule. This can be accomplished by: + +1. Determining who should review a pull request — This can be accomplished by adding a CODEOWNERS file to the repository that will instruct GitHub to automatically request a review from those specified in the `CODEOWNERS` file when the pull request is opened. +2. Who should take action after the pull request has been approved — Have a discussion with your team about how to merge and close the pull request after an pull request approval has been issued. Some teams may prefer that the approver merge and close the pull request, other teams may designate the original submitter of the pull request merge and close the pull request. In either scenario, be sure to also clean up any artifacts of the pull request, like the removal of the branch the pull request targeted. --- From d1c53b8097309c5f4a45a1f41088d00098107d83 Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Mon, 14 Apr 2025 16:13:49 -0700 Subject: [PATCH 06/18] Added additional details on CODEOWNERS file best practices. --- docs/guides/governance/contributions/pull-requests/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index c9170b512..3d694f028 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -85,7 +85,7 @@ Versioning provides your development team and the consumers of your codebase the Pull requests need to be acted on in a timely manner to keep the team's development lifecycle running efficiently and so that they don't hinder the team's release schedule. This can be accomplished by: -1. Determining who should review a pull request — This can be accomplished by adding a CODEOWNERS file to the repository that will instruct GitHub to automatically request a review from those specified in the `CODEOWNERS` file when the pull request is opened. +1. Determining who should review a pull request — This can be accomplished by adding a CODEOWNERS file to the repository that will instruct GitHub to automatically request a review from those specified in the `CODEOWNERS` file when the pull request is opened. For codebases that are very large, like monorepos, the options for how the `CODEOWNERS` file can be configured provides for granularity so that specific folders can be assigned to specific individuals and/or teams. Please see [this](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#example-of-a-codeowners-file) `CODEOWNERS` file for examples on how this file may be configured. 2. Who should take action after the pull request has been approved — Have a discussion with your team about how to merge and close the pull request after an pull request approval has been issued. Some teams may prefer that the approver merge and close the pull request, other teams may designate the original submitter of the pull request merge and close the pull request. In either scenario, be sure to also clean up any artifacts of the pull request, like the removal of the branch the pull request targeted. From 701da79b9bc79699a061e6e9644aa115f8a8892f Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Mon, 14 Apr 2025 17:23:51 -0700 Subject: [PATCH 07/18] Restructured pull request code owners best practice information. --- .../contributions/pull-requests/README.md | 57 ++++++++++++++++--- 1 file changed, 49 insertions(+), 8 deletions(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index 3d694f028..3e4ce8399 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -35,9 +35,11 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem --- -## Step-by-Step Guide +## Step-by-Step Guides -1. **Team Discussion - Pull Request Template**: Discuss the benefits of a pull request template with your team. Gain consensus on adopting this approach for consistency in contributions. Below is an explanation of our recommended [Pull Request Template](pathname:///assets/governance/pull-requests/PULL_REQUEST_TEMPLATE.md) file's fields. Adjust as necessary. +### Pull Request Template + +1. **Team Discussion**: Discuss the benefits of a pull request template with your team. Gain consensus on adopting this approach for consistency in contributions. Below is an explanation of our recommended [Pull Request Template](pathname:///assets/governance/pull-requests/PULL_REQUEST_TEMPLATE.md) file's fields. Adjust as necessary. - ***Purpose***: To clearly state the intention behind the pull request. This helps reviewers understand the context and significance of your changes. - ***Proposed Changes***: - `[ADD]` for new features or content the contributor introduced. @@ -47,18 +49,57 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem - ***Issues***: To link any related issues your PR addresses. This creates a traceable connection between the issue and the solution provided. - ***Testing***: To document how the contributor tested the changes. Including links to test results or noting the operating systems on which the tests were performed. This assures reviewers of the reliability and effectiveness of changes. -2. **Team Discussion - Pull Request Reviewers and Assignees**: Discuss the benefits of creating a `CODEOWNERS` file that informs GitHub of who should be designated as the reviewer(s) when a pull request is opened. Refer to the [GitHub documentation for Code Owners](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) for the specifics of how to to create and configure this file for your project's needs. See the best practices information in this guide titled "Designation of Pull-Request Reviewers and Assignees" for more clarity. - -3. **Create Template Directory**: +2. **Create Template Directory**: - In your GitHub repository, create a `.github/` folder to hold community health files. -4. **Add Pull Request Template**: +3. **Add Pull Request Template**: - Copy the [Pull Request Template](pathname:///assets/governance/pull-requests/PULL_REQUEST_TEMPLATE.md) into `.github/PULL_REQUEST_TEMPLATE`. - Commit and push this file to the `main` branch of your repository. -5. **Usage**: +4. **Usage**: - Once set up, this template will automatically appear in the pull request description box for contributors to fill out. +### Pull Request Automatic Reviewer Assignment + +1. **Team Discussion**: Discuss the benefits of automatically requesting reviews for opened pull requests, see [best practice information below](#designation-of-pull-request-reviewers-and-assignees). This is achieved by creating a `CODEOWNERS` file that details the individuals and/or teams from which a review should automatically be requested when a pull request is opened. + +2. **Create `CODEOWNERS` file**: + - Add a file named `CODEOWNERS` at one of the following locations in your repo (folder location are based off the root of your repository) + - root of your repository + - `.github/` + - `docs/` + +3. **Select Reviewers**: + + - A note from the [GitHub code owners documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners): + + > The people you choose as code owners must have write permissions for the repository. When the code owner is a team, that team must be visible and it must have write permissions, even if all the individual members of the team already have write permissions directly, through organization membership, or through another team membership. + + - Every line added to the codeowners file should include a file pattern, followed by a space, and the individual(s) or team that manages those files. Using this method, one could associate individuals/teams with different parts of your codebase for review; however, if the set of reviewers covers your entire codebase, the setup is very simple. Examples of these two are shown below. + + Both of these examples assumes: + 1. There are two users named, `johndoe`, and `janedoe` + 2. Teams are two teams named, `AppsTeam` and `ApiTeam` + 3. The codebase contains two folders at the root, `apps` and `api`. + + ##### Example 1 - Any change to the codebase is sent to members, `johndoe` and `janedoe`, and the team, `AppsTeam`. + + ``` + # Each line is a file pattern followed by one or more owners. + * @johndoe @janedoe @AppsTeam + ``` + + ##### Example 2 - Changes to the `apps` folder and `api` folder have differing reviewers + + ``` + # Each line is a file pattern followed by one or more owners. + apps/ @johndoe @AppsTeam + api/ @janedoe @ApiTeam + ``` + + Please refer to the [GitHub code owners documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) for more customization information. + +Refer to the [GitHub documentation for Code Owners](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) for the specifics of how to to create and configure this file for your project's needs. See the best practices information in this guide titled "Designation of Pull-Request Reviewers and Assignees" for more clarity. --- ## Best Practices @@ -76,7 +117,7 @@ Versioning provides your development team and the consumers of your codebase the >Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format. #### Takeaways: -* Your team's versioning scheme may require additional delination between versions ala build identifiers, release desiginations (e.g. unstable, stable, prerelease), so have a discussion with your team about the code versioning convention the project will follow and document the versioning scheme to refer back to as new developers are onboarded or when there are questions about the adopted versioning scheme. +* Your team's versioning scheme may require additional delienation between versions, e.g. build identifiers or release desiginations (e.g. unstable, stable, prerelease). Have a discussion with your team about adopting a code versioning convention the project will follow and document it to refer back to as new developers are onboarded or when there are questions about the adopted versioning scheme. * For each pull request, ensure that the code changes are captured in the repo's CHANGELOG and that the changes are associated with a version number that follows the team's/project's code versioning scheme. ### Automated Code Quality and Security Scans From 2d379428b9c420749d27e6eedfc4d7292620ae77 Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Tue, 15 Apr 2025 11:20:41 -0700 Subject: [PATCH 08/18] Added references for "Pull Request Automatic Reviewer Assignment" step-by-step guide. --- docs/guides/governance/contributions/pull-requests/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index 3e4ce8399..8d4f3c8c6 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -99,7 +99,9 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem Please refer to the [GitHub code owners documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) for more customization information. -Refer to the [GitHub documentation for Code Owners](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) for the specifics of how to to create and configure this file for your project's needs. See the best practices information in this guide titled "Designation of Pull-Request Reviewers and Assignees" for more clarity. + References: + * [GitHub documentation for Code Owners](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) + * [Designation of Pull-Request Reviewers and Assignees](#designation-of-pull-request-reviewers-and-assignees) Best Practice. --- ## Best Practices From a09522b93320b8b5def1d4a2c400d0739c620fec Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Tue, 15 Apr 2025 11:25:05 -0700 Subject: [PATCH 09/18] Added best practice information relating to code quality and security scans. --- .../contributions/pull-requests/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index 8d4f3c8c6..f6f63bb86 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -124,6 +124,19 @@ Versioning provides your development team and the consumers of your codebase the ### Automated Code Quality and Security Scans +If your project is not currently employing automated code quality and/or security scans, it is highly recommended that they be added to your repositories. The code quality scans can provide a wealth of information to improve the maintainability of your code and avoid potential bugs and the security scans are invaluable in indentifying potential threat vectors. They will help your team ensure that releases of your code will not only be secure and free of known vulnerabilities at the time of the scan, but can help avoid the unnecessary publishing of secrets (e.g. tokens, passwords, PII, etc.). + +If the automated scans find issues, regardless if they are related to code changes that were introduced as part of the newly opened pull request, it's important that they are handled in a timely manner. + + - If the changes _can be_ addressed as part of your pull request, [convert the pull request into a draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft) to signal to reviewers that a review is not needed and add a comment that you will be address the fixes. As you resolve the issues, periodically push the changes to the branch associated with the pull request on GitHub to retrigger the scans to verify the applied fixes resolved the previously reported issues. Repeat this process until all the issues have been fixed and [mark the pull request as ready for review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review). + - If the changes _can't be_ addressed as part of your pull request, be sure to catalogue the reported issues as new tickets so that they are not forgotten and in the newly created issues, link to the pull request in which the issues were found for reference. + +For more information about code quality and security scans, visit: + +- [GitHub Security](../../../software-lifecycle/security/github-security/README.md) +- [Secrets Detection](../../../software-lifecycle/security/secrets-detection/README.md) +- [Container Vulnerability Scanning](../../../software-lifecycle/security/container-vulnerability-scanning/README.mdx) + ### Designation of Pull-Request Reviewers and Assignees Pull requests need to be acted on in a timely manner to keep the team's development lifecycle running efficiently and so that they don't hinder the team's release schedule. This can be accomplished by: From 781a6f2aafbde429d794225a4fc1e54880bb970f Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Wed, 16 Apr 2025 14:13:29 -0700 Subject: [PATCH 10/18] Further refined the step by step guide for "Pull Request Automatic Reviewer Assignment" --- .../contributions/pull-requests/README.md | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index f6f63bb86..7fef2b0ac 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -69,39 +69,44 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem - `.github/` - `docs/` -3. **Select Reviewers**: +3. **Configure Reviewers**: - - A note from the [GitHub code owners documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners): + - Every line added to the `CODEOWNERS` file should include a file pattern, followed by a space, and the people or team(s) that manages those files. A note from the [GitHub code owners documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) about people and teams: > The people you choose as code owners must have write permissions for the repository. When the code owner is a team, that team must be visible and it must have write permissions, even if all the individual members of the team already have write permissions directly, through organization membership, or through another team membership. - - - Every line added to the codeowners file should include a file pattern, followed by a space, and the individual(s) or team that manages those files. Using this method, one could associate individuals/teams with different parts of your codebase for review; however, if the set of reviewers covers your entire codebase, the setup is very simple. Examples of these two are shown below. - Both of these examples assumes: - 1. There are two users named, `johndoe`, and `janedoe` - 2. Teams are two teams named, `AppsTeam` and `ApiTeam` - 3. The codebase contains two folders at the root, `apps` and `api`. + - Using this method described above, one could associate people/teams with different parts of your codebase for review; however, if your people/teams need to review your entire codebase, the setup is very simple. Some examples of how a code owners file may be configured are shown below. + + These examples assume: + + 1. A repository has two collaborators with the usernames, `johndoe` and `janedoe` + 2. A GitHub Organization has two teams named, `AppsTeam` and `ApiTeam` + 3. At the root of a repository, there are two folders named, `apps` and `api`. + + **Example 1 - A request for review needs to be sent to specific collaborators for changes to any file:** + + ``` + # Each line is a file pattern followed by one or more owners. + * @johndoe @janedoe + ``` - ##### Example 1 - Any change to the codebase is sent to members, `johndoe` and `janedoe`, and the team, `AppsTeam`. + **Example 2 - A request for review needs to be sent to a team for changes to any file:** ``` # Each line is a file pattern followed by one or more owners. - * @johndoe @janedoe @AppsTeam + * @AppsTeam ``` - ##### Example 2 - Changes to the `apps` folder and `api` folder have differing reviewers + **Example 3 - A request for review needs to be sent to specific collaborators and teams depending on the files that are changed:** ``` # Each line is a file pattern followed by one or more owners. - apps/ @johndoe @AppsTeam - api/ @janedoe @ApiTeam + /apps/ @johndoe @AppsTeam + /api/ @janedoe @ApiTeam ``` - Please refer to the [GitHub code owners documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) for more customization information. + Visit the [GitHub code owners documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) to learn of additional code owners file configuration capabilities. - References: - * [GitHub documentation for Code Owners](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) - * [Designation of Pull-Request Reviewers and Assignees](#designation-of-pull-request-reviewers-and-assignees) Best Practice. --- ## Best Practices From 1ebe4a15cc6026067f8e5e2f7fcd817909efbfd5 Mon Sep 17 00:00:00 2001 From: Anil Natha Date: Wed, 16 Apr 2025 19:21:40 -0700 Subject: [PATCH 11/18] Simple changes to the versioning information captured. --- docs/guides/governance/contributions/pull-requests/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index 7fef2b0ac..795d6adae 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -124,8 +124,8 @@ Versioning provides your development team and the consumers of your codebase the >Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format. #### Takeaways: -* Your team's versioning scheme may require additional delienation between versions, e.g. build identifiers or release desiginations (e.g. unstable, stable, prerelease). Have a discussion with your team about adopting a code versioning convention the project will follow and document it to refer back to as new developers are onboarded or when there are questions about the adopted versioning scheme. -* For each pull request, ensure that the code changes are captured in the repo's CHANGELOG and that the changes are associated with a version number that follows the team's/project's code versioning scheme. +* Have a discussion with your team about adopting a code versioning convention your project will follow and document it to refer back to as new developers are onboarded or when there are questions about the adopted versioning scheme. Your project's versioning scheme may require additional qualifiers, e.g. build identifiers or release desiginations (e.g. unstable, stable, prerelease), so be sure to discuss all aspects of your software development lifecycle when defining your versioning scheme. +* For each pull request, ensure that a summary of the changes are captured in the repository's CHANGELOG and that those changes are associated with a version number that follows the team's/project's code versioning scheme. ### Automated Code Quality and Security Scans From 8dcef3658298f673c9caef2212cb54721a540a29 Mon Sep 17 00:00:00 2001 From: Rishi Verma Date: Tue, 22 Apr 2025 10:38:23 -0700 Subject: [PATCH 12/18] Use lowercase as per default on github --- .../governance/contributions/pull-requests/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index 795d6adae..9a37b5438 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -80,7 +80,7 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem These examples assume: 1. A repository has two collaborators with the usernames, `johndoe` and `janedoe` - 2. A GitHub Organization has two teams named, `AppsTeam` and `ApiTeam` + 2. A GitHub Organization has two teams named, `apps-team` and `api-team` 3. At the root of a repository, there are two folders named, `apps` and `api`. **Example 1 - A request for review needs to be sent to specific collaborators for changes to any file:** @@ -94,15 +94,15 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem ``` # Each line is a file pattern followed by one or more owners. - * @AppsTeam + * @apps-team ``` **Example 3 - A request for review needs to be sent to specific collaborators and teams depending on the files that are changed:** ``` # Each line is a file pattern followed by one or more owners. - /apps/ @johndoe @AppsTeam - /api/ @janedoe @ApiTeam + /apps/ @johndoe @apps-team + /api/ @janedoe @api-team ``` Visit the [GitHub code owners documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) to learn of additional code owners file configuration capabilities. From 02d1d64a9fae37d86bda8d70ef3bee97f0116133 Mon Sep 17 00:00:00 2001 From: Rishi Verma Date: Tue, 22 Apr 2025 10:43:49 -0700 Subject: [PATCH 13/18] New example template CODEOWNERS file --- .../governance/pull-requests/CODEOWNERS | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 static/assets/governance/pull-requests/CODEOWNERS diff --git a/static/assets/governance/pull-requests/CODEOWNERS b/static/assets/governance/pull-requests/CODEOWNERS new file mode 100644 index 000000000..093571cc9 --- /dev/null +++ b/static/assets/governance/pull-requests/CODEOWNERS @@ -0,0 +1,58 @@ +# This is a CODEOWNERS file for GitHub repositories +# It automatically assigns reviewers for pull requests based on file paths +# Documentation: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners + +# Syntax: +# file-pattern @user-or-team-name + +# ===== EXAMPLES (All commented out! Make sure to uncomment the patterns you want to use) ===== + +# Default owners for everything in the repo (unless a later match takes precedence) +# A request for review needs to be sent to a team for changes to any file +# * @johndoe @janedoe +# * @apps-team + +# Owners for all files in the root directory +# /* @root-directory-owners + +# Owners for specific file types across the entire repository +# *.js @javascript-owners +# *.go @go-owners +# *.sql @database-team + +# Owners for specific directories and all contained files +# Each line is a file pattern followed by one or more owners. +# You can use team names as well (must be in the same org) +# /apps/ @johndoe @apps-team +# /api/ @janedoe @api-team +# /docs/ @documentation-team +# /config/ @platform-team +# /scripts/ @devops-team + +# Owners for specific files +# /CONTRIBUTING.md @community-manager +# /LICENSE @legal-team +# /SECURITY.md @security-team + +# Path exclusions with ! - the following will not match +# /logs/ @logger-team +# !/logs/high-priority/ @emergency-team + +# Nested team ownership +# /src/ @dev-team +# /src/api/ @api-team +# /src/ui/ @frontend-team + +# Different owners based on file location +# package.json @dependency-managers +# /test/package.json @test-dependency-managers + +# Wildcard patterns +# /src/**/test/ @test-owners +# /src/*/index.js @index-owners + +# IMPORTANT NOTES: +# - Order matters! The last matching pattern takes precedence. +# - CODEOWNERS only works on branch protections that require PR reviews. +# - @username, @org/team-name or email@domain.com formats are supported. +# - CODEOWNERS must be in the root, .github/, or docs/ directory to work. \ No newline at end of file From c3eda64f842ce720a768590aeb36589b7af31ba7 Mon Sep 17 00:00:00 2001 From: Rishi Verma Date: Tue, 22 Apr 2025 11:00:34 -0700 Subject: [PATCH 14/18] Referenced new CODEOWNERS template in guide --- .../governance/contributions/pull-requests/README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index 9a37b5438..c9d65a874 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -29,6 +29,10 @@ Our recommended pull request template for projects. +**[⬇️ CODEOWNERS Template](pathname:///assets/governance/pull-requests/CODEOWNERS)** + +Our recommended CODEOWNERS template for automatic reviewer assignment in pull requests. + **[📔 GitHub Pull Request Template Documentation](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository)** Recommendations from GitHub.com on how-to facilitate the use of pull request templates. @@ -61,9 +65,10 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem ### Pull Request Automatic Reviewer Assignment -1. **Team Discussion**: Discuss the benefits of automatically requesting reviews for opened pull requests, see [best practice information below](#designation-of-pull-request-reviewers-and-assignees). This is achieved by creating a `CODEOWNERS` file that details the individuals and/or teams from which a review should automatically be requested when a pull request is opened. +1. **Team Discussion**: Discuss the benefits of automatically requesting reviews for opened pull requests, see [best practice information below](#designation-of-pull-request-reviewers-and-assignees). This is achieved by creating a `CODEOWNERS` file that details the individuals and/or teams from which a review should automatically be requested when a pull request is opened. 2. **Create `CODEOWNERS` file**: + - Download our [CODEOWNERS template](pathname:///assets/governance/pull-requests/CODEOWNERS) that you can customize and use to kick start the use of CODEOWNERS for your project. - Add a file named `CODEOWNERS` at one of the following locations in your repo (folder location are based off the root of your repository) - root of your repository - `.github/` @@ -159,7 +164,7 @@ Pull requests need to be acted on in a timely manner to keep the team's developm --- -## Credits +## Credits **Authorship**: - [Rishi Verma](https://www.github.com/riverma) From 9d8fb3700063a51ce9fc730974d31d930502ad93 Mon Sep 17 00:00:00 2001 From: Rishi Verma Date: Tue, 22 Apr 2025 11:03:24 -0700 Subject: [PATCH 15/18] Typo fixes --- .../guides/governance/contributions/pull-requests/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index c9d65a874..ee99df1fd 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -118,7 +118,7 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem ### Versioning -Versioning provides your development team and the consumers of your codebase the ability to keep track of the differences between the release states of your code. To faciliate versioning, we recommend the use of [semantic versioning](https://semver.org/) because it provides a simple set of guidelines that describe how to increment your version numbers based on the changes that are being introduced. Below is a short summary from the semantic versioning website that describe a typical version number scheme: +Versioning provides your development team and the consumers of your codebase the ability to keep track of the differences between the release states of your code. To facilitate versioning, we recommend the use of [semantic versioning](https://semver.org/) because it provides a simple set of guidelines that describe how to increment your version numbers based on the changes that are being introduced. Below is a short summary from the semantic versioning website that describe a typical version number scheme: > Given a version number MAJOR.MINOR.PATCH, increment the: > @@ -129,12 +129,12 @@ Versioning provides your development team and the consumers of your codebase the >Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format. #### Takeaways: -* Have a discussion with your team about adopting a code versioning convention your project will follow and document it to refer back to as new developers are onboarded or when there are questions about the adopted versioning scheme. Your project's versioning scheme may require additional qualifiers, e.g. build identifiers or release desiginations (e.g. unstable, stable, prerelease), so be sure to discuss all aspects of your software development lifecycle when defining your versioning scheme. +* Have a discussion with your team about adopting a code versioning convention your project will follow and document it to refer back to as new developers are onboarded or when there are questions about the adopted versioning scheme. Your project's versioning scheme may require additional qualifiers, e.g. build identifiers or release designations (e.g. unstable, stable, prerelease), so be sure to discuss all aspects of your software development lifecycle when defining your versioning scheme. * For each pull request, ensure that a summary of the changes are captured in the repository's CHANGELOG and that those changes are associated with a version number that follows the team's/project's code versioning scheme. ### Automated Code Quality and Security Scans -If your project is not currently employing automated code quality and/or security scans, it is highly recommended that they be added to your repositories. The code quality scans can provide a wealth of information to improve the maintainability of your code and avoid potential bugs and the security scans are invaluable in indentifying potential threat vectors. They will help your team ensure that releases of your code will not only be secure and free of known vulnerabilities at the time of the scan, but can help avoid the unnecessary publishing of secrets (e.g. tokens, passwords, PII, etc.). +If your project is not currently employing automated code quality and/or security scans, it is highly recommended that they be added to your repositories. The code quality scans can provide a wealth of information to improve the maintainability of your code and avoid potential bugs and the security scans are invaluable in identifying potential threat vectors. They will help your team ensure that releases of your code will not only be secure and free of known vulnerabilities at the time of the scan, but can help avoid the unnecessary publishing of secrets (e.g. tokens, passwords, PII, etc.). If the automated scans find issues, regardless if they are related to code changes that were introduced as part of the newly opened pull request, it's important that they are handled in a timely manner. From aa9ca97c38bc051de21364e5b9a993bee07b3086 Mon Sep 17 00:00:00 2001 From: Rishi Verma Date: Tue, 22 Apr 2025 11:12:13 -0700 Subject: [PATCH 16/18] Add CODEOWNERS template to slim-registry --- static/data/slim-registry.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/static/data/slim-registry.json b/static/data/slim-registry.json index cf9bd1242..2b757840f 100644 --- a/static/data/slim-registry.json +++ b/static/data/slim-registry.json @@ -153,6 +153,11 @@ "name": "Pull Request Template", "type": "text/md", "uri": "https://raw.githubusercontent.com/NASA-AMMOS/slim/main/static/assets/governance/pull-requests/PULL_REQUEST_TEMPLATE.md" + }, + { + "name": "CODEOWNERS Template", + "type": "text/plain", + "uri": "https://raw.githubusercontent.com/NASA-AMMOS/slim/main/static/assets/governance/pull-requests/CODEOWNERS" } ] }, From 2ec7053480beaebf3ee0c40ec62458cce6114a06 Mon Sep 17 00:00:00 2001 From: Rishi Verma Date: Tue, 22 Apr 2025 11:22:04 -0700 Subject: [PATCH 17/18] Updated image to show better; example CODEOWNERS (update later) --- .../contributions/pull-requests/README.md | 2 +- static/img/pr-screen.png | Bin 51818 -> 52774 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index ee99df1fd..d5afbe013 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -29,7 +29,7 @@ Our recommended pull request template for projects. -**[⬇️ CODEOWNERS Template](pathname:///assets/governance/pull-requests/CODEOWNERS)** +**[⬇️ CODEOWNERS Template](pathname:///assets/governance/pull-requests/CODEOWNERS)** ([see example](https://github.com/riverma/terraformly/blob/main/CODEOWNERS)) Our recommended CODEOWNERS template for automatic reviewer assignment in pull requests. diff --git a/static/img/pr-screen.png b/static/img/pr-screen.png index e140af332d1b46daee29806495a4c2e273c92c4f..f199dd38701485746a47d4a0fef12be5ce175813 100644 GIT binary patch literal 52774 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 LQKIy{q2K=j24HcY literal 51818 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 y Date: Fri, 9 May 2025 12:52:13 -0700 Subject: [PATCH 18/18] Update docs/guides/governance/contributions/pull-requests/README.md Co-authored-by: Rishi Verma --- docs/guides/governance/contributions/pull-requests/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/guides/governance/contributions/pull-requests/README.md b/docs/guides/governance/contributions/pull-requests/README.md index d5afbe013..1371b7572 100644 --- a/docs/guides/governance/contributions/pull-requests/README.md +++ b/docs/guides/governance/contributions/pull-requests/README.md @@ -146,6 +146,7 @@ For more information about code quality and security scans, visit: - [GitHub Security](../../../software-lifecycle/security/github-security/README.md) - [Secrets Detection](../../../software-lifecycle/security/secrets-detection/README.md) - [Container Vulnerability Scanning](../../../software-lifecycle/security/container-vulnerability-scanning/README.mdx) +- [SonarQube Cloud](https://github.com/marketplace/actions/official-sonarqube-scan) ### Designation of Pull-Request Reviewers and Assignees