From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com []) by mx.groups.io with SMTP id smtpd.web11.1593.1573461678580668089 for ; Mon, 11 Nov 2019 00:41:21 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: michael.d.kinney@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Nov 2019 00:41:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,292,1569308400"; d="scan'208";a="234403720" Received: from mdkinney-mobl2.amr.corp.intel.com ([10.255.231.122]) by fmsmga002.fm.intel.com with ESMTP; 11 Nov 2019 00:41:18 -0800 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Liming Gao , Sean Brogan , Bret Barkelew Subject: [Patch v5 21/22] .mergify: Add Mergify YML pull request rules configuration file Date: Mon, 11 Nov 2019 00:41:06 -0800 Message-Id: <20191111084107.5368-22-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.21.0.windows.1 In-Reply-To: <20191111084107.5368-1-michael.d.kinney@intel.com> References: <20191111084107.5368-1-michael.d.kinney@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Cc: Sean Brogan Cc: Bret Barkelew Signed-off-by: Michael D Kinney Reviewed-by: Liming Gao --- .mergify/config.yml | 97 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 .mergify/config.yml diff --git a/.mergify/config.yml b/.mergify/config.yml new file mode 100644 index 0000000000..26583de0f6 --- /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.
+# 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 -- 2.21.0.windows.1