fenix/.mergify.yml
Julien Cristau ba611e848e
mergify: allow complete-push check as an alternative to complete-pr in queue conditions (#26902)
PRs created by github actions don't get a pull-request taskcluster graph
scheduled (because that is only done for PRs created by collaborators).
However, if the PR is created in the main fenix repo, typically because
it comes from one of our internal github workflows, then we get a push
graph, which is sufficient to run the required checks.

This change lets mergify consider a green `complete-push` task as
sufficient to queue a PR (in addition to all the other conditions, e.g.
wrt review), which will allow PRs created by the
update-nimbus-experiments workflow to be queued by mergify instead of
having to be merged by a repo admin.
2022-09-09 18:08:56 +02:00

108 lines
3.4 KiB
YAML

queue_rules:
- name: default
conditions:
- or:
- status-success=complete-pr
- and:
# For more context, see "Auto Merge" rules down below
- status-success=complete-push
- or:
- and:
- base~=^releases[_/].*
- or:
- head~=^automation/sync-strings-\d+
- head~=^relbot/fenix-\d+
- and:
- base=main
- head~=^relbot/AC-Nightly-.+
pull_request_rules:
- name: Resolve conflict
conditions:
- conflict
actions:
comment:
message: This pull request has conflicts when rebasing. Could you fix it @{{author}}? 🙏
- name: Android-Components bump - Auto Merge
conditions:
- and:
- files=buildSrc/src/main/java/AndroidComponents.kt
- -files~=^(?!buildSrc/src/main/java/AndroidComponents.kt).+$
- author=github-actions[bot]
- status-success=complete-push
- or:
- and:
- base=main
- head~=^relbot/AC-Nightly-.+
- and:
- base~=^releases[_/].*
- head~=^relbot/fenix-\d+
actions:
review:
type: APPROVE
message: 🚢
queue:
method: rebase
name: default
rebase_fallback: none
- name: L10N - Auto Merge
conditions:
- and:
- files~=^(l10n.toml|app/src/main/res/values[A-Za-z-]*/strings\.xml)$
# /!\ The line above doesn't prevent random files to be changed alongside
# l10n ones. That's why the additional condition exists below. For more
# information: https://docs.mergify.com/conditions/#how-to-match-lists
- -files~=^(?!(l10n.toml|app/src/main/res/values[A-Za-z-]*/strings\.xml)).+$
- or:
- and:
- author=mozilla-l10n-automation-bot
- base=main
- head=import-l10n
- status-success=complete-pr
- and:
- author=github-actions[bot]
- base~=^releases[_/].*
- head~=^automation/sync-strings-\d+
- status-success=complete-push
# Taskcluster only runs on git-push events because github-actions[bot] is not considered
# a collaborator, so pull request events are triggered. That said, github-actions[bot]
# doesn't create the PR on a separate fork (unlike mozilla-l10n-automation-bot). That's
# why git-push events are taken into account
actions:
review:
type: APPROVE
message: LGTM 😎
queue:
method: squash
name: default
rebase_fallback: none
- name: Needs landing - Rebase
conditions:
- or:
- check-success=complete-pr
- check-success=complete-push
- label=pr:needs-landing
- "#approved-reviews-by>=1"
- -draft
- label!=pr:work-in-progress
- label!=pr:do-not-land
actions:
queue:
method: rebase
name: default
rebase_fallback: none
- name: Needs landing - Squash
conditions:
- or:
- check-success=complete-pr
- check-success=complete-push
- label=pr:needs-landing-squashed
- "#approved-reviews-by>=1"
- -draft
- label!=pr:work-in-progress
- label!=pr:do-not-land
actions:
queue:
method: squash
name: default
rebase_fallback: none