From 313074f43a9cf7c1e3c4b972985ba06c212fe017 Mon Sep 17 00:00:00 2001 From: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com> Date: Fri, 28 Apr 2023 13:39:16 -0700 Subject: [PATCH] Add documentation for merge on red, build analysis, and v1/v2 tests (#84982) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com> Co-authored-by: Jeremy Koritzinsky --- .github/ISSUE_TEMPLATE/04_ci_known_issue.yml | 2 +- CONTRIBUTING.md | 8 +- docs/pr-builds.md | 98 ------------- docs/workflow/README.md | 21 ++- docs/workflow/ci/analysis-check.png | Bin 0 -> 3619 bytes docs/workflow/ci/failed-build.png | Bin 0 -> 17614 bytes docs/workflow/ci/failed-test.png | Bin 0 -> 84781 bytes docs/workflow/ci/failure-analysis.md | 118 ++++++++++++++++ docs/workflow/ci/issue-impact.png | Bin 0 -> 26517 bytes docs/workflow/ci/known-issue-example.png | Bin 0 -> 18393 bytes docs/workflow/ci/pipelines-overview.md | 139 +++++++++++++++++++ docs/{ => workflow/ci}/pr-guide.md | 12 +- docs/workflow/ci/theory-azdo.png | Bin 0 -> 34690 bytes 13 files changed, 286 insertions(+), 112 deletions(-) delete mode 100644 docs/pr-builds.md create mode 100644 docs/workflow/ci/analysis-check.png create mode 100644 docs/workflow/ci/failed-build.png create mode 100644 docs/workflow/ci/failed-test.png create mode 100644 docs/workflow/ci/failure-analysis.md create mode 100644 docs/workflow/ci/issue-impact.png create mode 100644 docs/workflow/ci/known-issue-example.png create mode 100644 docs/workflow/ci/pipelines-overview.md rename docs/{ => workflow/ci}/pr-guide.md (72%) create mode 100644 docs/workflow/ci/theory-azdo.png diff --git a/.github/ISSUE_TEMPLATE/04_ci_known_issue.yml b/.github/ISSUE_TEMPLATE/04_ci_known_issue.yml index 110ac830cc4..17ec4e5e5ec 100644 --- a/.github/ISSUE_TEMPLATE/04_ci_known_issue.yml +++ b/.github/ISSUE_TEMPLATE/04_ci_known_issue.yml @@ -10,7 +10,7 @@ body: id: background attributes: label: Error Blob - description: Please identify a clear error string that can help identify future instances of this issue. For more information on how to fill this check https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/KnownIssues.md#filling-out-known-issues-json-blob + description: Please identify a clear error string that can help identify future instances of this issue. For more information on how to fill this check our issue triage guidelines at [Failure Analysis](/dotnet/runtime/blob/main/docs/workflow/ci/failure-analysis.md#what-to-do-if-you-determine-the-failure-is-unrelated) value: | ```json { diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c8e440a1f6e..85827fa62b5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,7 +61,7 @@ The best way to create a minimal reproduction is gradually removing code and dep Project maintainers will merge changes that improve the product significantly. -The [Pull Request Guide](docs/pr-guide.md) and [Copyright](docs/project/copyright.md) docs define additional guidance. +The [Pull Request Guide](docs/workflow/pr-guide.md) and [Copyright](docs/project/copyright.md) docs define additional guidance. ### DOs and DON'Ts @@ -113,7 +113,7 @@ We use and recommend the following workflow: - Make sure that the tests are all passing, including your new tests. 7. Create a pull request (PR) against the dotnet/runtime repository's **main** branch. - State in the description what issue or improvement your change is addressing. - - Check if all the Continuous Integration checks are passing. + - Check if all the Continuous Integration checks are passing. Refer to [triaging failures in CI](docs/workflow/ci/failure-analysis.md) to check if any outstanding errors are known. 8. Wait for feedback or approval of your changes from the [area owners](docs/area-owners.md). - Details about the pull request [review procedure](docs/pr-guide.md). 9. When area owners have signed off, and all checks are green, your PR will be merged. @@ -165,9 +165,9 @@ The following file header is the used for files in this repo. Please use it for ### PR - CI Process -The [dotnet continuous integration](https://dev.azure.com/dnceng/public/) (CI) system will automatically perform the required builds and run tests (including the ones you are expected to run) for PRs. Builds and test runs must be clean. +The [dotnet continuous integration](https://dev.azure.com/dnceng-public/public/_build) (CI) system will automatically perform the required builds and run tests (including the ones you are expected to run) for PRs. Builds and test runs must be clean or have bugs properly filed against flaky/unexpected failures that are unrelated to your change. -If the CI build fails for any reason, the PR issue will be updated with a link that can be used to determine the cause of the failure. +If the CI build fails for any reason, the PR issue will link to the `Azure DevOps` build with further information on the failure. ### PR Feedback diff --git a/docs/pr-builds.md b/docs/pr-builds.md deleted file mode 100644 index e7d6e5968b0..00000000000 --- a/docs/pr-builds.md +++ /dev/null @@ -1,98 +0,0 @@ -## PR Builds -When submitting a PR to the `dotnet/runtime` repository various builds will run validation in many areas to ensure we keep productivity and quality high. - -The `dotnet/runtime` validation system can become overwhelming as we need to cover a lot of build scenarios and test in all the platforms that we support. In order to try to make this more reliable and spend the least amount of time testing what the PR changes need we have various pipelines, required and optional that are covered in this document. - -Most of the repository pipelines use a custom mechanism to evaluate paths based on the changes contained in the PR to try and build/test the least that we can without compromising quality. This is the initial step on every pipeline that depends on this infrastructure, called "Evaluate Paths". In this step you can see the result of the evaluation for each subset of the repository. For more details on which subsets we have based on paths see [here](https://github.com/dotnet/runtime/blob/513fe2863ad5ec6dc453d223d4b60f787a0ffa78/eng/pipelines/common/evaluate-default-paths.yml). Also to understand how this mechanism works you can read this [comment](https://github.com/dotnet/runtime/blob/513fe2863ad5ec6dc453d223d4b60f787a0ffa78/eng/pipelines/evaluate-changed-paths.sh#L3-L12). - -### Runtime pipeline -This is the "main" pipeline for the runtime product. In this pipeline we include the most critical tests and platforms where we have enough test resources in order to deliver test results in a reasonable amount of time. The tests executed in this pipeline for runtime and libraries are considered innerloop, are the tests that are executed locally when one runs tests locally. - -For mobile platforms and wasm we run some smoke tests that aim to protect the quality of these platforms. We had to move to a smoke test approach given the hardware and time limitations that we encountered and contributors were affected by this with unstability and long wait times for their PRs to finish validation. - -### Runtime-dev-innerloop pipeline -This pipeline is also required, and its intent is to cover a developer innerloop scenarios that could be affected by any change, like running a specific build command or running tests inside Visual Studio, etc. - -### Dotnet-linker-tests -This is also a required pipeline. The purpose of this pipeline is to test that the libraries code is ILLink friendly. Meaning that when we trim our libraries using the ILLink, we don't have any trimming bugs, like a required method on a specific scenario is trimmed away by accident. - -### Runtime-staging -This pipeline runs on every change, however it behaves a little different than the other pipelines. This pipeline, will not fail if there are test failures, however it will fail if there is a timeout or a build failure. The reason why we fail on build failures is because we want to protect the developer innerloop (building the repository) for this platform. - -The tests will not fail because the intent of this platform is to stage new platforms where the test infrastructure is new and we need to test if we have enough capacity to include that new platform on the "main" runtime pipeline without causing flakiness. Once we analyze data and a platform is stable when running on PRs in this pipeline for at least a weak it can be promoted either to the `runtime-extra-platforms` pipeline or to the `runtime` pipeline. - -### Runtime-extra-platforms -This pipeline does not run by default as it is not required for a PR, but it runs twice a day, and it can also be invoked in specific PRs by commenting `/azp run runtime-extra-platforms`. However, this pipeline is still an important part of our testing. - -This pipeline runs innerloop tests on platforms where we don't have enough hardware capacity to run tests (mobile, browser) or on platforms where we believe tests should organically pass based on the coverage we have in the "main" runtime pipeline. For example, in the "main" pipeline we run tests on Ubuntu 21.10 but since we also support Ubuntu 18.04 which is an LTS release, we run tests on Ubuntu 18.04 of this pipeline just to make sure we have healthy tests on those platforms which we are releasing a product for. - -Another concrete scenario would be windows arm64 for libraries tests. Where we don't have enough hardware, but the JIT is the most important piece to test as that is what generates the native code to run on that platform, so we run JIT tests on arm64 in the "main" pipeline, but our libraries tests are only run on the `runtime-extra-platforms` pipeline. - -### Outerloop pipelines -We have various pipelines that their names contain `Outerloop` on them. These pipelines will not run by default on every PR, they can also be invoked using the `/azp run` comment and will run on a daily basis to analyze test results. - -These pipelines will run tests that take very long, that are not very stable (i.e some networking tests), or that modify machine state. Such tests are called `Outerloop` tests rather than `innerloop`. - -## Analyzing Failures - -The PR Build Analysis tab has summary of all failures, including matches with the list of known issues. This tab should be your first stop for analyzing the PR failures. - -Validation may fail for several reasons: - -### Option 1: You have a defect in your PR - -* Simply push the fix to your PR branch, and validation will start over. - -### Option 2: There is a flaky test that is not related to your PR - -* Your assumption should be that a failed test indicates a problem in your PR. (If we don't operate this way, chaos ensues.) If the test fails when run again, it is almost surely a failure caused by your PR. However, there are occasions where unrelated failures occur. Here's some ways to know: - * Perhaps you see the same failure in CI results for unrelated active PR's. - * It's a known issue listed in our [big tracking issue](https://github.com/dotnet/runtime/issues/702) or tagged `blocking-clean-ci` [(query here)](https://github.com/dotnet/runtime/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Ablocking-clean-ci+) - * It's otherwise beyond any reasonable doubt that your code changes could not have caused this. - * If the tests pass on rerun, that may suggest it's not related. -* In this situation, you want to re-run but not necessarily rebase on main. - * To rerun just the failed leg(s): - * Click on any leg. Navigate through the Azure DevOps UI, find the "..." button and choose "Retry failed legs" - * Or, on the GitHub Checks tab choose "re-run failed checks". This will not rebase your change. - * To rerun all validation: - * Add a comment `/azp run runtime` - * Or, click on "re-run all checks" in the GitHub Checks tab - * Or, simply close and reopen the PR. -* If you have established that it is an unrelated failure, please ensure we have an active issue for it. See the [unrelated failure](#what-to-do-if-you-determine-the-failure-is-unrelated) section below. -* Whoever merges the PR should be satisfied that the failure is unrelated, is not introduced by the change, and that we are appropriately tracking it. - -### Option 3: The state of the main branch HEAD is bad. - -* This is the very rare case where there was a build break in main, and you got unlucky. Hopefully the break has been fixed, and you want CI to rebase your change and rerun validation. -* To rebase and rerun all validation: - * Add a comment `/azp run runtime` - * Or, click on "re-run all checks" in the GitHub Checks tab - * Or, simply close and reopen the PR. - * Or, amend your commit with `--amend --no-edit` and force push to your branch. - -### Additional information: - * You can list the available pipelines by adding a comment like `/azp list` or get the available commands by adding a comment like `azp help`. - * In the rare case the license/cla check fails to register a response, it can be rerun by issuing a GET request to `https://cla.dotnetfoundation.org/check/dotnet/runtime?pullRequest={pr_number}`. A successful response may be a redirect to `https://github.com`. - * Reach out to the infrastructure team for assistance on [Teams channel](https://teams.microsoft.com/l/channel/19%3ab27b36ecd10a46398da76b02f0411de7%40thread.skype/Infrastructure?groupId=014ca51d-be57-47fa-9628-a15efcc3c376&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47) (for corpnet users) or on [Gitter](https://gitter.im/dotnet/community) in other cases. - -## What to do if you determine the failure is unrelated - -If you have determined the failure is definitely not caused by changes in your PR, please do this: - -* If the failure is identified as a known issue in the Build Analysis tab, no further action is required. -* Search for an [existing issue](https://github.com/dotnet/runtime/issues). Usually the test method name or (if a crash/hang) the test assembly name are good search parameters. - * If there's an existing issue, add a comment with - * a) the link to the build - * b) the affected configuration (ie `net6.0-windows-Release-x64-Windows.81.Amd64.Open`) - * c) all console output including the error message and stack trace from the Azure DevOps tab (This is necessary as retention policies are in place that recycle old builds.) - * d) if there's a dump file (see Attachments tab in Azure DevOps) include that - * If the issue is already closed, reopen it and update the labels to reflect the current failure state. - * If possible, please [update the failure signature](https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/KnownIssues.md#how-to-fill-out-a-known-issue-error-message-section) to have it automatically identified by the Build Analysis as known issue next time. - * If there's no existing issue, create an issue with the same information listed above. - * Update the original pull request with a comment linking to the new or existing issue. -* If the failure is occuring frequently, please disable the failing test(s) with the corresponding issue link tracking the disable in a follow-up Pull Request - * Update the tracking issue with the label `disabled-test`. - * For libraries tests add a [`[ActiveIssue(link)]`](https://github.com/dotnet/arcade/blob/master/src/Microsoft.DotNet.XUnitExtensions/src/Attributes/ActiveIssueAttribute.cs) attribute on the test method. You can narrow the disabling down to runtime variant, flavor, and platform. For an example see [File_AppendAllLinesAsync_Encoded](https://github.com/dotnet/runtime/blob/cf49643711ad8aa4685a8054286c1348cef6e1d8/src/libraries/System.IO.FileSystem/tests/File/AppendAsync.cs#L74) - * For runtime tests found under `src/tests`, please edit [`issues.targets`](https://github.com/dotnet/runtime/blob/main/src/tests/issues.targets). There are several groups for different types of disable (mono vs. coreclr, different platforms, different scenarios). Add the folder containing the test and issue mimicking any of the samples in the file. - -There are plenty of possible bugs, e.g. race conditions, where a failure might highlight a real problem and it won't manifest again on a retry. Therefore these steps should be followed for every iteration of the PR build, e.g. before retrying/rebuilding. diff --git a/docs/workflow/README.md b/docs/workflow/README.md index 7f5d80edc41..dbef0e3e7a5 100644 --- a/docs/workflow/README.md +++ b/docs/workflow/README.md @@ -1,10 +1,13 @@ # Workflow Guide -* [Build Requirements](#build-requirements) -* [Getting Yourself Started](#getting-yourself-started) -* [Configurations and Subsets](#configurations-and-subsets) - * [What does this mean for me?](#what-does-this-mean-for-me) -* [Full Instructions on Building and Testing the Runtime Repo](#full-instructions-on-building-and-testing-the-runtime-repo) +- [Build Requirements](#build-requirements) +- [Getting Yourself Started](#getting-yourself-started) +- [Configurations and Subsets](#configurations-and-subsets) + - [What does this mean for me?](#what-does-this-mean-for-me) +- [Full Instructions on Building and Testing the Runtime Repo](#full-instructions-on-building-and-testing-the-runtime-repo) +- [Warnings as Errors](#warnings-as-errors) +- [Submitting a PR](#submitting-a-pr) +- [Triaging errors in CI](#triaging-errors-in-ci) The repo can be built for the following platforms, using the provided setup and the following instructions. Before attempting to clone or build, please check the requirements that match your machine, and ensure you install and prepare all as necessary. @@ -91,3 +94,11 @@ And how to measure performance: ## Warnings as Errors The repo build treats warnings as errors. Dealing with warnings when you're in the middle of making changes can be annoying (e.g. unused variable that you plan to use later). To disable treating warnings as errors, set the `TreatWarningsAsErrors` environment variable to `false` before building. This variable will be respected by both the `build.sh`/`build.cmd` root build scripts and builds done with `dotnet build` or Visual Studio. Some people may prefer setting this environment variable globally in their machine settings. + +## Submitting a PR + +Before submitting a PR, make sure to review the [contribution guidelines](../../CONTRIBUTING.md). After you get familiarized with them, please read the [PR guide](ci/pr-guide.md) to find more information about tips and conventions around creating a PR, getting it reviewed, and understanding the CI results. + +## Triaging errors in CI + +Given the size of the runtime repository, flaky tests are expected to some degree. There are a few mechanisms we use to help with the discoverability of widely impacting issues. We also have a regular procedure that ensures issues get properly tracked and prioritized. You can find more information on [triaging failures in CI](ci/failure-analysis.md). diff --git a/docs/workflow/ci/analysis-check.png b/docs/workflow/ci/analysis-check.png new file mode 100644 index 0000000000000000000000000000000000000000..4b24e83c5ba58d256806e24cdd054d8fd692fc54 GIT binary patch literal 3619 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 literal 0 HcmV?d00001 diff --git a/docs/workflow/ci/failed-test.png b/docs/workflow/ci/failed-test.png new file mode 100644 index 0000000000000000000000000000000000000000..462fd797324eaf3ca16746c3cbb351930a4fc7f4 GIT binary patch literal 84781 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 + ## Error Message + Fill the error message using [known issues guidance](https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/KnownIssues.md#how-to-fill-out-a-known-issue-error-section). + + ```json + { + "ErrorMessage": "", + "BuildRetry": false, + "ErrorPattern": "", + "ExcludeConsoleLog": false + } + ``` + ```` + It already contains most of the essential information, but *it is very important that you fill out the json blob*. + + - You can add into the `ErrorMessage` field the string that you found uniquely identifies the issue. In case you need to use a regex, use the `ErrorPattern` field instead. This is a limited to a single-line, non-backtracking regex as described [here](https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/KnownIssues.md#regex-matching). This regex also needs to be appropriately escaped. Check the [arcade known issues](https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/KnownIssues.md#filling-out-known-issues-json-blob) documentation for a good guide on proper regex and JSON escaping. + - The field `ExcludeConsoleLog` describes if the execution logs should be considered on top of the individual test results. **For most cases, this should be set to `true` as the failure will happen within a single test**. Setting it to `false` will mean all failures within an xUnit set of tests will also get attributed to this particular error, since there's one log describing all the problems. Due to limitations in Known Issues around rate limiting and xUnit resiliency, setting `ExcludeConsoleLog=false` is necessary in two scenarios: + + Nested tests as reported to Azure DevOps. Essentially this means theory failures, which look like this when reported in Azure DevOps: ![xUnit theory seen in azure devops](theory-azdo.png). + Adding support for this requires too many API calls, so using the console log here is necessary. + + Native crashes in libraries also require using the console log. This is needed as the crash corrupts the test results to be reported to Azure DevOps, so only the console logs are left. + - Optionally you can add specifics as needed like leg, configuration parameters, available dump links. + +Once the issue is open, feel free to rerun the `Build Analysis` check and the issue should be recognized as known if all was filed correctly and you are ready to merge once all unrelated issues are marked as known. However, there are some known limitations to the system as previously described. Additionally, the system only looks at the error message the stacktrace fields of an Azure DevOps test result, and the console log in the helix queue. If rerunning the check doesn't pick up the known issue and you feel it should, feel free to tag @dotnet/runtime-infrastructure to request infrastructure team for help. + +After you do this, if the failure is occurring frequently as per the data captured in the recently opened issue, please disable the failing test(s) with the corresponding tracking issue link in a follow-up Pull Request. + +* Update the tracking issue with the `disabled-test` label and remove the blocking tags. +* For libraries tests add a [`[ActiveIssue(link)]`](https://github.com/dotnet/arcade/blob/master/src/Microsoft.DotNet.XUnitExtensions/src/Attributes/ActiveIssueAttribute.cs) attribute on the test method. You can narrow the disabling down to runtime variant, flavor, and platform. For an example see [File_AppendAllLinesAsync_Encoded](https://github.com/dotnet/runtime/blob/cf49643711ad8aa4685a8054286c1348cef6e1d8/src/libraries/System.IO.FileSystem/tests/File/AppendAsync.cs#L74) +* For runtime tests found under `src/tests`, please edit [`issues.targets`](https://github.com/dotnet/runtime/blob/main/src/tests/issues.targets). There are several groups for different types of disable (mono vs. coreclr, different platforms, different scenarios). Add the folder containing the test and issue mimicking any of the samples in the file. + +There are plenty of intermittent failures that won't manifest again on a retry. Therefore these steps should be followed for every iteration of the PR build, e.g. before retrying/rebuilding. + +### Examples of Build Analysis + +#### Good usage examples + +- Sufficiently specific strings. Ex: issue https://github.com/dotnet/runtime/issues/80619 + +```json +{ + "ErrorPattern": "The system cannot open the device or file specified. : ('|')NuGet-Migrations('|')", + "BuildRetry": false, + "ExcludeConsoleLog": false +} +``` + +This is a case where the issue is tied to the machine the workitem falls on. Everything would fail in that test group, so `ExcludeConsoleLog` isn't harmful and the string is specific to the issue. The proper usage of this provides useful insight such as an accurate count of the impact of the issue without blocking other devs: + +![issue impact with data for investigation](issue-impact.png) + +#### Bad usage examples + +- Overly generic short strings. For example "dlbigleakthd", just refering to the test name is likely to match the build log in case there's a build failure, since the log will list the file getting built. In that case a better thing is to use the name of the scripts (sh/cmd) or part of the dump that caused the crash. diff --git a/docs/workflow/ci/issue-impact.png b/docs/workflow/ci/issue-impact.png new file mode 100644 index 0000000000000000000000000000000000000000..313e0fc0b2f37a10b1efb5f7cd3d3a9d6bee386d GIT binary patch literal 26517 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 literal 0 HcmV?d00001 diff --git a/docs/workflow/ci/known-issue-example.png b/docs/workflow/ci/known-issue-example.png new file mode 100644 index 0000000000000000000000000000000000000000..ec4b140e8730d80caa68efa24e655307e8de2e18 GIT binary patch literal 18393 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: Launch xUnit test wrapper hosted in LKG runtime + W->>+T: Launch each test in process isolation + T->>-W: Test report success with 100 exit code. + W->>-E: - + E->>+R: Report test results to Azure DevOps + R->>-E: - + deactivate E +``` + +### SourceGen Orchestrated tests + +Consolidated runtime tests generate an entry point assembly during build. The source generation globs the tests that will run and generates a `Main` method that runs each test in a `try`/`catch` block, while capturing all the necessary output. There are a few tests that require isolation, and instead of calling into them in-proc, the call starts another process as appropriate. The main advantage of this method is that it relies less heavily on process isolation, making testing more cost-efficient. However, this also means the first native or managed unhandled exception will pause all testing - much like what happens with library tests. The merged runner that invokes the tests sequentially is hosted under a watchdog to handle hangs, and there's a log fixer that runs afterwards to try to fixup the corrupted logs in case of a crash, so that Helix can report the workitem progress as much as possible. The usual flow for a Helix workitem of this type is as follows: + +```mermaid +sequenceDiagram + title Merged Tests in Helix + participant E as Helix Entrypoint + participant W as Watchdog + participant M as Merged Runner + participant L as Log Fixer + participant R as Helix Reporter + activate E + E->>+W: Launch watchdog + W->>+M: Launch tests with filters + M->>-W: Tests finish or crash + W->>-E: . + E->>+L: Fix log and symbolize crashes + L->>-E: - + E->>+R: Report test results to Azure DevOps + R->>-E: - + deactivate E +``` diff --git a/docs/pr-guide.md b/docs/workflow/ci/pr-guide.md similarity index 72% rename from docs/pr-guide.md rename to docs/workflow/ci/pr-guide.md index 6328c1bd1a9..4c391c66438 100644 --- a/docs/pr-guide.md +++ b/docs/workflow/ci/pr-guide.md @@ -19,19 +19,23 @@ Every pull request will have automatically a single `area-*` label assigned. The If during the code review process a merge conflict occurs the area owner is responsible for its resolution. Pull requests should not be on hold due to the author's unwillingness to resolve code conflicts. GitHub makes this easier by allowing simple conflict resolution using the [conflict-editor](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github). +## Pull Request Builds + +When submitting a PR to the `dotnet/runtime` repository, various builds will run validating many areas to ensure we keep developer productivity and product quality high. For a high level overview of the build process and the different pipelines that might run against your PR, please check [pipelines overview](pipelines-overview.md). + ## Merging Pull Requests -Anyone with write access can merge a pull request manually or by setting the [auto-merge](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/automatically-merging-a-pull-request) label when it satisfies all of the following conditions: +Anyone with write access can merge a pull request manually when the following conditions have been met: * The PR has been approved by at least one reviewer and any other objections are addressed. * You can request another review from the original reviewer. -* The PR successfully builds and passes all tests in the Continuous Integration (CI) system. For more information please read to our [PR Builds](pr-builds.md) doc. +* The PR successfully builds and passes all tests in the Continuous Integration (CI) system. In case of failures, refer to the [analyzing build failures](failure-analysis.md) doc. -Typically, PRs are merged as one commit. It creates a simpler history than a Merge Commit. "Special circumstances" are rare, and typically mean that there are a series of cleanly separated changes that will be too hard to understand if squashed together, or for some reason we want to preserve the ability to bisect them. +Typically, PRs are merged as one commit (squash merges). It creates a simpler history than a Merge Commit. "Special circumstances" are rare, and typically mean that there are a series of cleanly separated changes that will be too hard to understand if squashed together, or for some reason we want to preserve the ability to disect them. ## Blocking Pull Request Merging -If for whatever reason you would like to move your pull request back to an in-progress status to avoid merging it in the current form, you can do that by adding [WIP] prefix to the pull request title. +If for whatever reason you would like to move your pull request back to an in-progress status to avoid merging it in the current form, you can turn the PR into a draft PR by selecting the option under the reviewers section. Alternatively, you can do that by adding [WIP] prefix to the pull request title. ## Old Pull Request Policy diff --git a/docs/workflow/ci/theory-azdo.png b/docs/workflow/ci/theory-azdo.png new file mode 100644 index 0000000000000000000000000000000000000000..3599b824950cf4d0f7d6bd24d32a5a95dfbf62fb GIT binary patch literal 34690 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 literal 0 HcmV?d00001 -- GitLab