diff --git a/resources/merge-barriers.md b/resources/merge-barriers.md new file mode 100644 index 00000000000..ffc084db42e --- /dev/null +++ b/resources/merge-barriers.md @@ -0,0 +1,48 @@ +--- +layout: default +nav_order: 6 +parent: Resources +grand_parent: Maintainer Docs +title: Merge Barriers +--- + +# _Merge Barriers_ Check + +## Overview + +A GitHub action that checks whether a pull-request is up-to-date with the any merge barrier commits from the source repository. + +### Intended audience + +Community +{: .label .label-yellow} + +Developers +{: .label .label-green} + +Project Leads +{: .label .label-blue} + +Operations +{: .label .label-purple} + +## Summary + +Pull requests can be explicitly marked as "merge barriers" to be required to be merged into a pull request before it can be merged. This is used for pull requests that have wide-reaching implications, such as broad reformatting or linting, which are highly likely to cause logical merge conflicts with many other pull requests. + +The _Merge Barriers_ check is configurable by editing the following value in the `.github/ops-bot.yaml` file: + +```yaml +# enables/disables the Merge Barriers Check +merge_barriers: true +``` + +A pull request can be marked as a merge barrier by adding the following line to the description: + +``` +Ops-Bot-Merge-Barrier: true +``` + +If a pull request with this line is merged, no pull requests can be merged after it unless they merge in the merge barrier commit. If a pull request cannot be merged due to missing a merge barrier, the easiest fix is to simply merge in the latest commit from the target branch. + +For more generic requirements to keep a pull request reasonably up-to-date with the origin, see the [recently updated check](./recently-updated.md). diff --git a/resources/recently-updated.md b/resources/recently-updated.md index c71d60fd7d4..f3816337277 100644 --- a/resources/recently-updated.md +++ b/resources/recently-updated.md @@ -52,3 +52,5 @@ recently_updated_threshold: 5 ``` Note that since RAPIDS uses squash commits for pull requests, the `recently_updated_threshold` value effectively means "how many pull requests have been merge into the source repository since the current pull request has last been updated". + +For more specific control over which commits need to be merged into pull requests, see [merge barriers](./merge-barriers.md). diff --git a/resources/reproducing-ci.md b/resources/reproducing-ci.md index ac2de8565a0..4ceaabbc21d 100644 --- a/resources/reproducing-ci.md +++ b/resources/reproducing-ci.md @@ -141,7 +141,7 @@ gh auth login NOTE: On shared machines, this method might expose your GitHub token in the output of `ps`. In those settings, consider just relying on the interactive prompts inside the container or using the `--env-file` approach. -For more details, see "GitHub Actions" ([link](./github-actions)). +For more details, see "GitHub Actions" ([link](./github-actions.md)). ### Downloading Build Artifacts for Tests