# yaml-language-server: $schema=https://docs.mergify.com/configuration/file-format/ # Mergify configuration for vyos/vyatta-cfg. # # 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`; # T-ID format checks on PR title and commit messages. # - `commands_restrictions` → restrict @Mergifyio slash commands to the # org Maintainers team + vyosbot. Resolves correctly on both sides of # the cross-org mirror: vyos/mergify uses @vyos/maintainers, # VyOS-Networks/mergify uses @VyOS-Networks/maintainers. # # Replaces the inline T8531 predecessor config that hardcoded # @vyos/maintainers, which was invalid on the VyOS-Networks mirror and # caused `@Mergifyio backport` to be rejected with # "Team @vyos/maintainers is not part of the organization VyOS-Networks" # (see VyOS-Networks/vyatta-cfg#33). # # Rollout context: T8782 (Mergify central-config rollout), T8852 (fleet # migration to `extends:`). See https://vyos.dev/T8782, https://vyos.dev/T8852, # and the Confluence spec at # https://vyos.atlassian.net/wiki/spaces/VYOS/pages/849477640. extends: mergify merge_protections_settings: reporting_method: check-runs pull_request_rules: - name: Flag product T-ID format violation in PR title or commit messages description: > Product-repo convention: PR title and every commit's first line must match `T: ` (optional `scope: ` prefix). Relocated from the central config (T8966) so the T-ID convention is opt-in per product repo. Name is intentionally distinct from any central rule name so this stays additive (not an `extends:` override). conditions: - '-closed' - '-merged' - '-author~=\[bot\]$' - 'author!=copilot-swe-agent' - 'author!=vyosbot' - or: - '-title~=^(([a-zA-Z0-9\-_.]+:\s)?)T\d+:\s+[^\s]+.*' - and: - 'label!=legacy' - 'commits[*].commit_message~=^(?!(([a-zA-Z0-9\-_.]+:\s)?)T\d+:\s+[^\s]+).*' actions: label: toggle: - invalid-task-id