# yaml-language-server: $schema=https://docs.mergify.com/mergify-configuration-schema.json # Mergify configuration for vyos/shim-signed. # # Inherits the central baseline from vyos/mergify (its .mergify.yml on the # default branch). The central baseline provides: # - conflict labeling (`conflicts`, `backport-conflict`) # - convention-agnostic merge protections: loose PR-title gate # (`invalid-title`), minimal-body gate (`invalid-body`, #body<80), # and the WIP merge gate (`WIP`) # - @Mergifyio command restrictions (org Maintainers + vyosbot) # # Onboarded to `extends` under the T8966 onboard-to-extends follow-up. The # per-repo rule below opts this product repo into the strict T: # convention. It is additive (a distinct rule name, not an `extends` override) # and bot-excluded, identical to the 49-repo product fleet (IS-531). 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