summaryrefslogtreecommitdiff
path: root/.mergify/config.yml
blob: 26583de0f6315130085328b866d7124b68e9d845 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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