summaryrefslogtreecommitdiff
path: root/.mergify
diff options
context:
space:
mode:
authorMichael D Kinney <michael.d.kinney@intel.com>2019-10-18 15:22:36 -0700
committerMichael D Kinney <michael.d.kinney@intel.com>2019-11-11 13:02:51 -0800
commit4baa783d5e372380c64d538a153bc97640e8257c (patch)
treefb0fec0eeb4d4d6ef255d83c4480e05b5fce6444 /.mergify
parent106c7a991c1b15c8065af921d8e32462fdde64b7 (diff)
downloadedk2-4baa783d5e372380c64d538a153bc97640e8257c.zip
edk2-4baa783d5e372380c64d538a153bc97640e8257c.tar.gz
edk2-4baa783d5e372380c64d538a153bc97640e8257c.tar.bz2
.mergify: Add Mergify YML pull request rules configuration file
https://bugzilla.tianocore.org/show_bug.cgi?id=2315 Add directory for the Mergify YML configuration files that provides rules and actions used to process a pull request. * Auto commit a PR from EDK II Maintainer with 'push' label set and all CI checks pass * Auto close a PR from any developers without 'push' label set and all CI checks pass. * Auto close a PR from a non EDK II Maintainer that has the 'push' label set. * Post a comment to a PR that has a merge conflict. Submitter can resolved conflicts and reopen the PR. * Post a comment to a PR that fails PatchCheck.py Submitter can resolve PatchCheck.py issues and reopen the PR. Cc: Liming Gao <liming.gao@intel.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to '.mergify')
-rw-r--r--.mergify/config.yml97
1 files changed, 97 insertions, 0 deletions
diff --git a/.mergify/config.yml b/.mergify/config.yml
new file mode 100644
index 0000000..26583de
--- /dev/null
+++ b/.mergify/config.yml
@@ -0,0 +1,97 @@
+## @file
+# Mergify YML file that automatically merges a GitHub pull request against
+# edk2-ci if all of the GitHub branch protections have passed. It also
+# contains rules to:
+# * auto close branches that are not from an EDK II Maintainer
+# * post a comment on pull requests that have merge conflicts.
+# * post a comment on pull requests that have PatchCheck.py errors.
+#
+# Configuration Notes:
+# * Update the 'base=edk2-ci' statements with the name of the branch to merge
+# pull requests.
+#
+# * Update the 'status-failure' statement with the name of the name of the Azure
+# Pipelines Build that performs the EDK II Maintainer check.
+#
+# * This file must be checked into the 'default' branch of a repo. Copies
+# of this file on other branches of a repo are ignored by Mergify.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+# https://github.com/apps/mergify
+# https://doc.mergify.io/
+#
+##
+
+pull_request_rules:
+
+ - name: Automatically merge a PR when all required checks pass and 'push' label is present
+ conditions:
+ - base=master
+ - label=push
+ - author=@tianocore/edk-ii-maintainers
+ - status-success=tianocore.PatchCheck
+ - status-success=Ubuntu GCC5 PR
+ - status-success=Windows VS2019 PR
+ actions:
+ merge:
+ strict: true
+ method: rebase
+
+ - name: Automatically close a PR when all required checks pass and 'push' label is not present
+ conditions:
+ - base=master
+ - -label=push
+ - -closed
+ - status-success=tianocore.PatchCheck
+ - status-success=Ubuntu GCC5 PR
+ - status-success=Windows VS2019 PR
+ - status-success=Ubuntu GCC5 PR (FINISHED)
+ - status-success=Windows VS2019 PR (FINISHED)
+ actions:
+ close:
+ message: All checks passed. Auto close personal build.
+
+ - name: Post a comment on a PR that can not be merged due to a merge conflict
+ conditions:
+ - base=master
+ - conflict
+ actions:
+ comment:
+ message: PR can not be merged due to conflict. Please rebase and resubmit
+
+ - name: Automatically close a PR that fails the EDK II Maintainers membership check and 'push' label is present
+ conditions:
+ - base=master
+ - label=push
+ - -author=@tianocore/edk-ii-maintainers
+ actions:
+ close:
+ message: PR submitter is not a member of the Tianocore EDK II Maintainers team
+
+ - name: Post a comment on a PR if PatchCheck fails
+ conditions:
+ - base=master
+ - status-failure=tianocore.PatchCheck
+ actions:
+ comment:
+ message: PR can not be merged due to a PatchCheck failure. Please resolve and resubmit
+
+ - name: Post a comment on a PR if Ubuntu GCC5 fails
+ conditions:
+ - base=master
+ - status-failure=Ubuntu GCC5 PR
+ - status-success=Ubuntu GCC5 PR (FAILED)
+ actions:
+ comment:
+ message: PR can not be merged due to an Ubuntu GCC5 failure. Please resolve and resubmit
+
+ - name: Post a comment on a PR if Windows VS2019 fails
+ conditions:
+ - base=master
+ - status-failure=Windows VS2019 PR
+ - status-success=Windows VS2019 PR (FAILED)
+ actions:
+ comment:
+ message: PR can not be merged due to a Windows VS2019 failure. Please resolve and resubmit