summaryrefslogtreecommitdiff
path: root/.github/mergify.yml
blob: 21e21b3fdecc80b70c89679caf248cb99b86ceab (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
# yaml-language-server: $schema=https://docs.mergify.com/configuration/file-format/
# Mergify configuration for vyos/vyos-documentation.
#
# Inherits the central baseline from vyos/mergify:.mergify.yml. The central
# baseline provides:
#   - `defaults.actions.backport.ignore_conflicts: false`
#   - `pull_request_rules` → label conflicting PRs with `conflicts`
#   - `commands_restrictions` → restrict @Mergifyio slash commands to
#     @vyos/maintainers + vyosbot
#
# Rollout context: T8782 (Mergify central-config rollout). See
# https://vyos.dev/T8782 and the Confluence spec at
# https://vyos.atlassian.net/wiki/spaces/VYOS/pages/849477640.
#
# Local overrides for this repo go below the `extends:` line — any keys
# defined here merge with (or, for same-name rules, replace) the inherited
# configuration per Mergify's `extends:` semantics.

extends: mergify

pull_request_rules:
  # ------------------------------------------------------------------
  # Override: disable T-ID-format checks for PR title and commit messages.
  #
  # The central baseline in vyos/mergify enforces `T<digits>: <text>` (with
  # optional `scope: ` prefix) on both the PR title and every commit's first
  # line. That matches the convention in vyos/vyos-1x and other code repos
  # where engineering work tracks against a Phorge task.
  #
  # vyos-documentation does not require a Phorge T-ID per PR — much of the
  # work here is conventional-commits style (`fix(ext): …`, `ci(...): …`,
  # `chore(deps): …`) with no upstream ticket. Inheriting the central rules
  # labels every such PR `invalid-title` / `invalid-commit-title`, which is
  # noise.
  #
  # Per Mergify `extends:` semantics, same-name rules in the child REPLACE
  # the parent's. The override below MUST use the parent's exact rule name
  # — `Flag T-ID format violation in PR title or commit messages` — or the
  # parent rule keeps firing and `invalid-title` labels every PR. (The
  # earlier two-rule override shipped in 3d44fe06 used the wrong names
  # and was a no-op; PR #2014 surfaced the regression.)
  #
  # Conditions are constructed to never match (a PR cannot simultaneously
  # be closed and not closed), so the `toggle` action always falls into
  # the "remove label" branch — cleaning up `invalid-title` on any PR
  # that picked it up while the broken override was in place.
  # ------------------------------------------------------------------

  - name: Flag T-ID format violation in PR title or commit messages
    description: >
      Disabled in vyos-documentation — this repo does not require Phorge
      T-IDs in PR titles or commit message headlines. Conventional-commits
      style (`fix(ext): …`, `ci(...): …`, `chore(deps): …`) is acceptable.
    conditions:
      - closed
      - '-closed'
    actions:
      label:
        toggle:
          - invalid-title
merge_protections_settings:
  reporting_method: check-runs