packages feed

hackport-0.9.0.0: cabal/.github/mergify.yml

pull_request_rules:

  # implementing PR delay logic: apply a label after 2 days of inactivity
  # the label will allow Mergify to merge (see #8442, #8448)
  - actions:
      label:
        add:
          - merge delay passed
    name: Wait for 2 days before validating merge
    conditions:
      - updated-at<2 days ago
      - or:
        - label=merge me
        - label=squash+merge me
      - '#approved-reviews-by>=2'

  # rebase+merge strategy
  - actions:
      queue:
        name: default
        # Merge into master with a merge commit
        method: merge
        # Update the pr branch with rebase, so the history is clean
        update_method: rebase
    name: Put pull requests in the rebase+merge queue
    conditions:
      - base=master
      - label=merge me
      - label=merge delay passed
      - '#approved-reviews-by>=2'

  # merge+squash strategy
  - actions:
      queue:
        name: default
        method: squash
        # both update methods get absorbed by the squash, so we use the most
        # reliable
        update_method: merge
    name: Put pull requests in the squash+merge queue
    conditions:
      - base=master
      - label=squash+merge me
      - label=merge delay passed
      - '#approved-reviews-by>=2'

  # rebase+merge strategy for backports: require 1 approver instead of 2
  - actions:
      queue:
        name: default
        # Merge with a merge commit
        method: merge
        # Update the pr branch with rebase, so the history is clean
        update_method: rebase
    name: Put backports in the rebase+merge queue
    conditions:
      - label=merge me
      - base!=master
      - body~=backport
      - label=merge delay passed
      - '#approved-reviews-by>=1'

  # merge+squash strategy for backports: require 1 approver instead of 2
  - actions:
      queue:
        name: default
        method: squash
        # both update methods get absorbed by the squash, so we use the most
        # reliable
        update_method: merge
    name: Put pull requests in the squash+merge queue
    conditions:
      - label=merge me
      - base!=master
      - body~=backport
      - label=merge delay passed
      - '#approved-reviews-by>=1'

  # backports should be labeled as such
  - actions:
      label:
        add:
          - backport
    name: Label backports as such
    conditions:
      - body~=automatic backport

queue_rules:
  - name: default
    conditions: []