diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1e57e8cb9a27..e1b21634334d 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -6,20 +6,15 @@ ## Checklist +- **Mandatory**: please state whether this PR targets a [**general** release](../blob/main/CONTRIBUTING.md#target-release-types) / [**public preview**](../blob/main/CONTRIBUTING.md#target-release-types) / [**private preview**]((../blob/main/CONTRIBUTING.md#target-release-types)) / [**engineering build**](../blob/main/CONTRIBUTING.md#target-release-types) of Azure PowerShell? + - `{Enter your answer here}` - [ ] Check this box to confirm: **I have read the [_Submitting Changes_](../blob/main/CONTRIBUTING.md#submitting-changes) section of [`CONTRIBUTING.md`](../blob/main/CONTRIBUTING.md) and reviewed the following information:** -* **SHOULD** select appropriate branch. Cmdlets from Autorest.PowerShell should go to [`generation`](https://github.com/Azure/azure-powershell/tree/generation) branch. -* **SHOULD** make the title of PR clear and informative, and in the present imperative tense. * **SHOULD** update `ChangeLog.md` file(s) appropriately - * For any service, the `ChangeLog.md` file can be found at `src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md` - * A snippet outlining the change(s) made in the PR should be written under the `## Upcoming Release` header in the past tense. Add changelog in description section if PR goes into [`generation`](https://github.com/Azure/azure-powershell/tree/generation) branch. + * For SDK-based development mode, update `src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md`. + * A snippet outlining the change(s) made in the PR should be written under the `## Upcoming Release` header in the past tense. + * For autorest-based development mode, include the changelog in the PR description. * Should **not** change `ChangeLog.md` if no new release is required, such as fixing test case only. -* **SHOULD** have approved design review for the changes in [this repository](https://github.com/Azure/azure-powershell-cmdlet-review-pr) ([_Microsoft internal only_](../blob/main/CONTRIBUTING.md#onboarding)) with following situations - * Create new module from scratch - * Create new resource types which are not easy to conform to [Azure PowerShell Design Guidelines](../blob/main/documentation/development-docs/design-guidelines) - * Create new resource type which name doesn't use module name as prefix - * Have design question before implementation * **SHOULD** regenerate markdown help files if there is cmdlet API change. [Instruction](../blob/main/documentation/development-docs/help-generation.md#updating-all-markdown-files-in-a-module) * **SHOULD** have proper test coverage for changes in pull request. -* **SHOULD NOT** introduce [breaking changes](../blob/main/documentation/breaking-changes/breaking-changes-definition.md) in Az minor release except preview version. * **SHOULD NOT** adjust version of module manually in pull request diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7765e03b087d..63a8e13928bd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -90,6 +90,27 @@ completed checklist. The following set of guidelines must be adhered to when opening pull requests in the Azure PowerShell repository. +#### Target Release Types + +Here are all types of releases of **Azure PowerShell**. Note that the type of release isn't necessarily aligned to the state of the swagger or service feature. + +- **General** release + - This PR targets an [official general release](https://github.com/Azure/azure-powershell/milestones) of Azure PowerShell. + - Target version is `x.y.z`, no suffix. + - Note: versions < 1.0.0 are also included in this category. + - Target branch should be `main` or `generation` depending on the development approach. +- **Preview** release + - **Public preview** + - This PR targets a preview release of Azure PowerShell. It is independent to the normal release cycle. + - Target version is `x.y.z-preview`. + - Note: if the major version is 0, it is considered a general release rather than preview. + - Target branch should not be `main` nor `generation`. Please contact [sprint master](https://github.com/Azure/azure-powershell/milestones) if you are unsure about which branch to target. + - **Private preview** / **Embargoed preview** + - This PR is related to some business secret. It should not be submitted to this repository. Contact [sprint master](https://github.com/Azure/azure-powershell/milestones) for more details. +- **Engineering build** + - This PR does not require any kind of releases. It's for internal or private distribution. + - Target branch should not be `main` nor `generation`. Please contact [sprint master](https://github.com/Azure/azure-powershell/milestones) if you are unsure about which branch to target. + #### General guidelines The following guidelines must be followed for **every** pull request that is opened.