Skip to content

Commit 30ed4a8

Browse files
authored
Fixes 14021 - Updated contribution guide (Azure#19968)
Co-authored-by: Mike F. Robbins <[email protected]>
1 parent 9b95809 commit 30ed4a8

File tree

1 file changed

+79
-41
lines changed

1 file changed

+79
-41
lines changed

CONTRIBUTING.md

Lines changed: 79 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,140 @@
11
# Contributing to Azure PowerShell
22

3-
This repository contains PowerShell cmdlets for developers and administrators to develop, deploy, and manage Microsoft Azure applications.
3+
This repository contains PowerShell cmdlets for developers and administrators to develop, deploy,
4+
administer, and manage Microsoft Azure resources.
45

56
## Basics
67

7-
If you would like to become an active contributor to this project (or any other open source Microsoft project), please see the list of resources found on [this page](https://opensource.microsoft.com/collaborate/).
8+
If you would like to become a contributor to this project (or any other open source Microsoft
9+
project), see how to [Get Involved](https://opensource.microsoft.com/collaborate/).
810

911
## Before Starting
1012

1113
### Onboarding
1214

13-
All users must sign the [Microsoft Contributor License Agreement (CLA)](https://cla.opensource.microsoft.com/) before any code contribution can be made. For Microsoft employees, make sure that your GitHub account is part of the Azure organization. [Use this page](http://aka.ms/azuregithub) to link your account.
15+
All users must sign the
16+
[Microsoft Contributor License Agreement (CLA)](https://cla.opensource.microsoft.com/) before making
17+
any code contributions. For Microsoft employees, make sure that your GitHub account is part of the
18+
Azure organization. [Use this page](http://aka.ms/azuregithub) to link your account.
1419

1520
### Code of Conduct
1621

17-
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
22+
This project has adopted the
23+
[Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more
24+
information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
25+
contact [[email protected]](mailto:[email protected]) with any additional questions or
26+
comments.
1827

1928
### GitHub Basics
2029

2130
#### GitHub Workflow
2231

23-
If you don't have much experience using GitHub or Git, [here is a guide to understanding the GitHub flow](https://guides.github.com/introduction/flow/) and [here is a guide to understanding the basic Git commands](https://education.github.com/git-cheat-sheet-education.pdf).
32+
The following guides provide basic knowledge for understanding Git command usage and the workflow of
33+
GitHub.
34+
35+
- [Git Cheat Sheet](https://education.github.com/git-cheat-sheet-education.pdf)
36+
- [GitHub Flow](https://guides.github.com/introduction/flow/)
2437

2538
#### Forking the Azure/azure-powershell repository
2639

27-
Unless you are working with multiple contributors on the same file, we ask that you fork the repository and submit your pull request from there. [Here is a guide to forks in GitHub](https://guides.github.com/activities/forking/).
40+
Unless you are working with multiple contributors on the same file, we ask that you fork the
41+
repository and submit your pull request from there. The following guide explains how to fork a
42+
GitHub repo.
43+
44+
- [Contributing to GitHub projects](https://guides.github.com/activities/forking/).
2845

2946
## Filing Issues
3047

31-
You can find all of the issues that have been filed in the [Issues](https://github.com/Azure/azure-powershell/issues) section of the repository.
48+
You can find all of the issues that have been filed for Azure PowerShell in the
49+
[Issues](https://github.com/Azure/azure-powershell/issues) section of this repository.
3250

33-
To file an issue, first select one of the [provided templates](https://github.com/Azure/azure-powershell/issues/new/choose) to ensure that the proper information is provided. The following are a few of the templates we have:
51+
To file an issue, select one of the
52+
[templates](https://github.com/Azure/azure-powershell/issues/new/choose). This ensures that all of
53+
the necessary information is provided. The following are a few of the templates we provide:
3454

35-
- [_Az module bug report_](https://github.com/Azure/azure-powershell/issues/new?assignees=&labels=&template=az-module-bug-report.md&title=)
36-
- [_AzureRM module bug report_](https://github.com/Azure/azure-powershell/issues/new?assignees=&labels=&template=azurerm-module-bug-report.md&title=)
37-
- [_Feature request_](https://github.com/Azure/azure-powershell/issues/new?assignees=&labels=Feature+Request&template=feature_request.md&title=)
55+
- [_Az module bug report_](https://github.com/Azure/azure-powershell/issues/new?assignees=&labels=needs-triage%2Cbug&template=1-AZ-BUG-REPORT.yml)
56+
- [_Feature request_](https://github.com/Azure/azure-powershell/issues/new?assignees=&labels=feature-request%2Cneeds-triage&template=2-FEATURE-REQUEST.yml&title=%5BFeature%5D%3A+)
57+
- [_Az module question or discussion_](https://github.com/Azure/azure-powershell/issues/new?assignees=&labels=needs-triage%2Cquestion&template=3-AZ-QUESTION.yml)
3858

39-
You can find the code complete and release dates of the next three Azure PowerShell releases in the [Milestones](https://github.com/Azure/azure-powershell/milestones) section of the Issue page. Each milestone will display the issues that are being worked on for the corresponding release.
59+
You can find the code complete and release dates of the next three Azure PowerShell releases in the
60+
[Milestones](https://github.com/Azure/azure-powershell/milestones) section of the _Issues_ page.
61+
Each milestone will display the issues that are being worked on for the corresponding release.
4062

4163
## Submitting Changes
4264

4365
### Pull Requests
4466

45-
You can find all of the pull requests that have been opened in the [Pull Request](https://github.com/Azure/azure-powershell/pulls) section of the repository.
67+
You can find all of the pull requests that have been opened in the
68+
[Pull Requests](https://github.com/Azure/azure-powershell/pulls) section of this repository.
4669

4770
When creating a pull request, keep the following in mind:
48-
- Make sure you are pointing to the fork and branch that your changes were made in
49-
- Choose the correct branch you want your pull request to be merged into
50-
- The **master** branch is for active development; changes in this branch will be in the next Azure PowerShell release
51-
- The **preview** branch is a snapshot of the last `AzureRM` release and _should not_ be used for active development
52-
- The **release-X.X.X** branch is for active development during a release
53-
- The pull request template that is provided **should be filled out**; this is not something that should just be deleted or ignored when the pull request is created
54-
- Deleting or ignoring this template will elongate the time it takes for your pull request to be reviewed
55-
- The SLA for reviewing pull requests is **two business days**
71+
72+
- Verify you are pointing to the fork and branch that your changes were made in.
73+
- Choose the correct branch you want your pull request to be merged into.
74+
- The **main** branch is for active development; changes in this branch will be in the next Azure
75+
PowerShell release.
76+
- The **release-X.X.X** branch is for active development during a release.
77+
- The **preview** branch is a snapshot of the last `AzureRM` release and _should not_ be used for
78+
active development.
79+
- The pull request template that is provided **must be filled out**. Do not delete or ignore it when
80+
the pull request is created.
81+
- **_IMPORTANT:_** Deleting or ignoring the pull request template will delay the PR review process.
82+
- The SLA for reviewing pull requests is **two business days**.
5683

5784
### Pull Request Guidelines
5885

59-
A pull request template will automatically be included as a part of your PR. Please fill out the checklist as specified. Pull requests **will not be reviewed** unless they include a properly completed checklist.
86+
A pull request template will automatically be included as a part of your PR. Please fill out the
87+
checklist as specified. Pull requests **will not be reviewed** unless they include a properly
88+
completed checklist.
6089

61-
The following is a list of guidelines that pull requests opened in the Azure PowerShell repository must adhere to. You can find a more complete discussion of Azure PowerShell design guidelines [here](documentation/development-docs/design-guidelines).
90+
The following set of guidelines must be adhered to when opening pull requests in the Azure
91+
PowerShell repository.
6292

6393
#### General guidelines
6494

65-
The following guidelines must be followed in **EVERY** pull request that is opened.
95+
The following guidelines must be followed for **every** pull request that is opened.
6696

67-
- Title of the pull request is clear and informative
97+
- Title of the pull request is clear and informative.
6898
- The appropriate `ChangeLog.md` file(s) has been updated:
69-
- For any service, the `ChangeLog.md` file can be found at `src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md`
70-
- A snippet outlining the change(s) made in the PR should be written under the `## Upcoming Release` header -- no new version header should be added
71-
- There are a [small number of commits](documentation/development-docs/cleaning-up-commits.md) that each have an informative message
72-
- All files shipped with a module should contain a proper Microsoft license header
99+
- For any service, the `ChangeLog.md` file can be found at
100+
`src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md`.
101+
- A snippet outlining the change(s) made in the PR should be written under the
102+
`## Upcoming Release` header -- no new version header should be added.
103+
- There are a small number of commits in your PR and each commit has an informative commit message.
104+
- For more information, see
105+
[Cleaning up commits](documentation/development-docs/cleaning-up-commits.md).
106+
- All files shipped with a module should contain a proper Microsoft license header.
73107
- For public API changes to cmdlets:
74-
- a cmdlet design review was approved for the changes in [this repository](https://github.com/Azure/azure-powershell-cmdlet-review-pr) (_Microsoft internal only_)
75-
- the markdown help files have been regenerated using the commands listed [here](documentation/development-docs/help-generation.md#updating-all-markdown-files-in-a-module)
108+
- A [cmdlet design review](https://github.com/Azure/azure-powershell-cmdlet-review-pr) has been
109+
approved for the changes in this repository. (_Microsoft internal only_).
110+
- The Markdown help files have been regenerated using the commands listed
111+
[here](documentation/development-docs/help-generation.md#updating-all-markdown-files-in-a-module).
112+
113+
For a comprehensive list of Azure PowerShell design guidelines and best practices, see
114+
[Azure PowerShell Design Guidelines](documentation/development-docs/design-guidelines).
76115

77116
#### Testing guidelines
78117

79-
The following guidelines must be followed in **EVERY** pull request that is opened.
118+
The following guidelines must be followed in **every** pull request that is opened.
80119

81-
- Changes made have corresponding test coverage
120+
- Changes made have corresponding test coverage.
82121
- Tests should not include any hardcoded values, such as location, resource id, etc.
83-
- Tests should have proper setup of resources to ensure any user can re-record the test if necessary
84-
- No existing tests should be skipped
122+
- Tests should have proper setup of resources to ensure any user can re-record the test if necessary.
123+
- No existing tests should be skipped.
85124

86125
#### Cmdlet guidelines
87126

88-
Please see the [_Cmdlet Best Practices_](./documentation/development-docs/design-guidelines/cmdlet-best-practices.md) document for information about cmdlet design guidelines.
89-
90-
Examples of standard cmdlets that follow Azure PowerShell patterns and best practices can be found [here](./documentation/development-docs/examples).
127+
- [Cmdlet Best Practices](./documentation/development-docs/design-guidelines/cmdlet-best-practices.md)
128+
- [Examples of standard Azure PowerShell cmdlets](./documentation/development-docs/examples).
91129

92130
#### Parameter guidelines
93131

94-
Please see the [_Parameter Best Practices_](./documentation/development-docs/design-guidelines/parameter-best-practices.md) document for information about parameter design guidelines.
132+
- [Parameter Best Practices](./documentation/development-docs/design-guidelines/parameter-best-practices.md).
95133

96134
#### Piping guidelines
97135

98-
Please see the [_Piping Best Practices_](./documentation/development-docs/design-guidelines/piping-best-practices.md) document for information about piping design guidelines.
136+
- [Piping Best Practices](./documentation/development-docs/design-guidelines/piping-best-practices.md).
99137

100138
#### Module guidelines
101139

102-
Please see the [_Module Best Practices_](./documentation/development-docs/design-guidelines/module-best-practices.md) document for information about module design guidelines.
140+
- [Module Best Practices](./documentation/development-docs/design-guidelines/module-best-practices.md).

0 commit comments

Comments
 (0)