Skip to content

ci(Mergify): configuration update#89

Closed
unclesp1d3r wants to merge 2 commits into
mainfrom
mergify/unclesp1d3r/I64caf366d5b417535561576e04ffb9b99ce0b427
Closed

ci(Mergify): configuration update#89
unclesp1d3r wants to merge 2 commits into
mainfrom
mergify/unclesp1d3r/I64caf366d5b417535561576e04ffb9b99ce0b427

Conversation

@unclesp1d3r
Copy link
Copy Markdown
Member

This change has been made by @unclesp1d3r from the Mergify Priority Rule Configurator.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
Copilot AI review requested due to automatic review settings February 15, 2026 23:59
@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Feb 15, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 15, 2026

Caution

Review failed

Failed to post review comments

Summary by CodeRabbit

  • Chores
    • Merge workflow description updated: CI must pass or be legitimately skipped (with path filtering); cross-platform test handling now supports combined run-or-skip logic.
    • Success conditions restructured from a flat list to nested OR/AND logic, now recognizing skipped checks for quality, test, test-cross-platform, and coverage.
    • Added priority rules: low-priority bot-generated PRs and high-priority bug-fix PRs for queue ordering.

Walkthrough

Reconfigures Mergify merge_protections: updates description, restructures success_conditions into nested OR/AND logic (with check-skipped variants for quality, test, test-cross-platform, coverage), and adds a new priority_rules section for bot and bug-fix PR prioritization.

Changes

Cohort / File(s) Summary
Mergify configuration
.mergify.yml
Updated merge_protections.description; reworked success_conditions from a flat list to nested or/and logic including check-skipped variants for quality, test, test-cross-platform, and coverage; added priority_rules with "Bot Generated" (low) and "Bug Fixes" (high) entries.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 I hopped through lines of YAML bright,
Nested checks now dance in light,
Bots wait low, bug fixes leap high,
Skipped tests wink as they pass by —
A tiny thump, the merge feels right.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'ci(Mergify): configuration update' is related to the changeset but lacks specificity about what was configured (priority rules and success conditions logic).
Description check ✅ Passed The description mentions the change was made by a user from the Mergify Priority Rule Configurator, which relates to the priority_rules configuration added in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch mergify/unclesp1d3r/I64caf366d5b417535561576e04ffb9b99ce0b427

Comment @coderabbitai help to get the list of available commands and usage tips.

@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented Feb 15, 2026

Merge Protections

Your pull request matches the following merge protections and will not be merged until they are valid.

🟢 📃 Configuration Change Requirements

Wonderful, this rule succeeded.

Mergify configuration change

  • check-success = Configuration changed

🟢 CI must pass

Wonderful, this rule succeeded.

All CI checks must pass. This protection prevents manual merges that bypass the merge queue.

  • check-success = coverage
  • check-success = quality
  • check-success = test
  • check-success = test-cross-platform (macos-latest, macOS)
  • check-success = test-cross-platform (ubuntu-22.04, Linux)
  • check-success = test-cross-platform (ubuntu-latest, Linux)
  • check-success = test-cross-platform (windows-latest, Windows)

🟢 Do not merge outdated PRs

Wonderful, this rule succeeded.

Make sure PRs are within 10 commits of the base branch before merging

  • #commits-behind <= 10

@coderabbitai coderabbitai Bot added enhancement New feature or request testing Test infrastructure and coverage labels Feb 16, 2026
…e04ffb9b99ce0b427

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the repository’s Mergify configuration, focusing on merge protections and adding priority rules for certain PR categories.

Changes:

  • Reworks merge_protections success conditions to allow “skipped” checks and adds special handling for the test-cross-platform matrix.
  • Adds priority_rules for Dependabot PRs and “bug” PR titles.
  • Removes the prior merge-queue (queue_rules) and automation (pull_request_rules) configuration.
Comments suppressed due to low confidence (4)

.mergify.yml:5

  • This update removes all queue_rules and pull_request_rules, which previously defined the merge queue (squash) and the auto-queuing behavior (approved PRs, release-plz branches, dependabot, and do-not-merge label exclusion). With only merge_protections/priority_rules left, Mergify likely won’t queue/merge PRs automatically anymore (and do-not-merge is no longer enforced). Consider restoring the queue and PR rules (or adding the equivalent actions in the new config) so the repository’s merge flow remains intact.
queue_rules:
  - name: default
    merge_method: squash
    merge_conditions:
      - check-success = quality

.mergify.yml:22

  • The test-cross-platform success condition mixes exact matrix check names with check-skipped = test-cross-platform. GitHub check names for matrix jobs include the matrix suffix (e.g. test-cross-platform (ubuntu-latest, Linux)), so a bare check-skipped = test-cross-platform is unlikely to match any skipped check. If you want to support skipped matrix jobs, list check-skipped for each matrix check name (or drop the skipped logic entirely if checks are never path-filtered).
  - name: Queue maintainer PRs with lgtm label
    conditions:
      - base = main
      - "author=@maintainers"
      - label = lgtm
      - label != do-not-merge
    actions:
      queue:

.mergify.yml:44

  • This regex condition looks over-escaped for YAML: \\( / \\) will typically end up as \\( in the regex, which won’t match conventional-commit titles like bug(scope): .... Prefer a form that yields the intended regex ^bug(\(.*\))?: at evaluation time (e.g., adjust backslashes and/or switch to single quotes in YAML) so bug-fix PRs are correctly prioritized.
    actions:
      review:
        type: APPROVE
        message: Automatically approved by Mergify

.mergify.yml:5

  • The CI must pass description mentions checks being “legitimately skipped (path filtering)”, but the CI workflow jobs referenced here (quality, test, test-cross-platform, coverage) currently run unconditionally on PRs to main (no paths: filters). Consider updating the description (and possibly removing the check-skipped branches) to reflect the actual CI behavior.
    merge_method: squash
    merge_conditions:
      - check-success = quality

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:M This PR changes 30-99 lines, ignoring generated files. testing Test infrastructure and coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants