Skip to content

ci(Mergify): configuration update#124

Merged
unclesp1d3r merged 1 commit into
mainfrom
mergify/unclesp1d3r/I07925e1bd5050bd600b08b5bd6f6bb61eeb15199
Mar 1, 2026
Merged

ci(Mergify): configuration update#124
unclesp1d3r merged 1 commit into
mainfrom
mergify/unclesp1d3r/I07925e1bd5050bd600b08b5bd6f6bb61eeb15199

Conversation

@unclesp1d3r
Copy link
Copy Markdown
Member

This change has been made by @unclesp1d3r from the Mergify merge protections editor.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
Copilot AI review requested due to automatic review settings March 1, 2026 22:15
@unclesp1d3r unclesp1d3r merged commit e964d6d into main Mar 1, 2026
10 of 14 checks passed
@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Mar 1, 2026
@unclesp1d3r unclesp1d3r deleted the mergify/unclesp1d3r/I07925e1bd5050bd600b08b5bd6f6bb61eeb15199 branch March 1, 2026 22:15
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 1, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between e8f5eb4 and 57ef25a.

📒 Files selected for processing (1)
  • .mergify.yml

Summary by CodeRabbit

  • Chores
    • Updated pull request merge validation and CI requirements to optimize the review and merge workflow.

Walkthrough

This PR modifies the .mergify.yml configuration file, adjusting merge queue rules, approval logic for external contributors and maintainers, CI validation requirements, conventional commit title validation regex, and the do-not-merge commit-freshness threshold. Syntax formatting is also refined from quoted to unquoted forms.

Changes

Cohort / File(s) Summary
Merge Queue & Approval Logic
.mergify.yml
Removed tiered rule blocks and flipped negation logic on author/head pattern checks (e.g., -author=@maintainers to author=@maintainers, -head ~= ^release-plz- to head ~= ^release-plz-), affecting which PRs are auto-queued vs. require approval.
CI Validation & Test Requirements
.mergify.yml
Removed several per-OS test entries and coverage checks, replacing with a reduced set of cross-platform test targets; updated conventional commit title validation regex from single-line to multi-line/space-escaped format.
Do-Not-Merge Cadence
.mergify.yml
Tightened do-not-merge protection by reducing commits-behind threshold from 10 to 3.
Configuration Syntax Refinement
.mergify.yml
Replaced quoted strings with unquoted forms in merge conditions and CI-related sections for stylistic consistency.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • #79: Modifies merge queue rules, author/head conditions, and auto-queue behavior in .mergify.yml.
  • #78: Adjusts merge queue rules and CI success/merge-protection logic in .mergify.yml.
  • #75: Changes merge-protection rules including the commits-behind limit and CI success gates.

Suggested labels

enhancement, testing, size:M

Poem

🐰 Mergify hops with fresh new rules,
No stale commits shall pass the gates—
Three commits back, the queue now schools,
Approval logic now orchestrates!
CI checks align, the tests ring true, 🚀

✨ 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/I07925e1bd5050bd600b08b5bd6f6bb61eeb15199

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

dosubot Bot added a commit that referenced this pull request Mar 1, 2026
@dosubot dosubot Bot mentioned this pull request Mar 1, 2026
@dosubot
Copy link
Copy Markdown
Contributor

dosubot Bot commented Mar 1, 2026

Related Documentation

4 document(s) may need updating based on files changed in this PR:

libMagic-rs

CI/CD And Merge Queue Configuration — ✅ Accepted
CONTRIBUTING /libmagic-rs/blob/main/CONTRIBUTING.md
View Suggested Changes
@@ -237,7 +237,8 @@
 2. **Add tests** for new functionality
 3. **Run the full test suite** locally: `just ci-check`
 4. **Create a pull request** with a clear description
-5. **Address review feedback** promptly
+5. **Keep your PR up to date**: PRs must be within 3 commits of `main` to merge. Mergify automatically updates PRs in the merge queue, but you may need to rebase more frequently than before.
+6. **Address review feedback** promptly
 
 ### Code Review Requirements
 
@@ -250,7 +251,7 @@
 - **Documentation**: Public APIs have rustdoc with examples, AGENTS.md updated if architecture changes
 - **Performance**: No unnecessary allocations in hot paths, no regressions in benchmarks
 
-CI must pass before merge. This includes formatting, linting, tests, security audit, and CodeQL analysis. Branch protection enforces these checks on the `main` branch.
+All CI checks run before merge through the merge queue, including quality checks, tests, coverage, and cross-platform tests (ubuntu-latest, ubuntu-22.04, macos-latest, windows-latest). Merge protections prevent manual merges and require the quality check and cross-platform tests for ubuntu-latest, macos-latest, and windows-latest to pass. PRs are merged through the queue when conditions are met.
 
 ### Developer Certificate of Origin (DCO)
 

✅ Accepted

release-process /libmagic-rs/blob/main/docs/src/release-process.md
View Suggested Changes
@@ -361,7 +361,9 @@
 - The code being released was already tested on `main` before the release PR was created
 - CI still runs in the merge queue as a final verification step before the release is completed
 
-This exemption allows the release workflow to proceed smoothly while maintaining the safety of the automated release process.
+The "CI must pass" merge protection requires 4 checks: `quality`, `test-cross-platform (ubuntu-latest, Linux)`, `test-cross-platform (macos-latest, macOS)`, and `test-cross-platform (windows-latest, Windows)`. The merge queue enforces additional checks including `test`, `coverage`, and `test-cross-platform (ubuntu-22.04, Linux)`.
+
+PRs must be within 3 commits of `main` before merging. This exemption allows the release workflow to proceed smoothly while maintaining the safety of the automated release process.
 
 ### Configuration Files
 

[Accept] [Decline]

release-process /libmagic-rs/blob/main/docs/src/release-process.md — ✅ Accepted

Note: You must be authenticated to accept/decline updates.

How did I do? Any feedback?  Join Discord

@coderabbitai coderabbitai Bot added enhancement New feature or request testing Test infrastructure and coverage labels Mar 1, 2026
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 generated via the merge protections editor, adjusting CI-related conditions and merge protection thresholds.

Changes:

  • Reformats several Mergify conditions (removing quotes / rewrapping long strings).
  • Modifies merge protection success conditions for “CI must pass”.
  • Tightens the “Do not merge outdated PRs” commits-behind threshold.

Comment thread .mergify.yml
Comment on lines +85 to +87
- "title ~=
^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\\\\(\
.+\\\\))?!?:"
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

The conventional-commit protection condition is now split across multiple YAML lines inside a double-quoted string, including a line-continuation escape. This is easy to accidentally break and can change the exact string Mergify evaluates. Consider keeping this condition on a single line (as before) or using a folded scalar (e.g., >-) to make the final evaluated string unambiguous.

Copilot uses AI. Check for mistakes.
Comment thread .mergify.yml
Comment on lines 93 to +97
success_conditions:
- check-success = quality
- check-success = test
- "check-success = test-cross-platform (ubuntu-latest, Linux)"
- "check-success = test-cross-platform (ubuntu-22.04, Linux)"
- "check-success = test-cross-platform (macos-latest, macOS)"
- "check-success = test-cross-platform (windows-latest, Windows)"
- check-success = coverage

- check-success = test-cross-platform (ubuntu-latest, Linux)
- check-success = test-cross-platform (macos-latest, macOS)
- check-success = test-cross-platform (windows-latest, Windows)
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

merge_protections.CI must pass no longer requires the test and coverage checks, and it also dropped the test-cross-platform (ubuntu-22.04, Linux) matrix job. This weakens the protection and allows manual merges that bypass parts of CI (even though the queue still requires them). Add back the missing required checks so the protection matches the intended CI gate.

Copilot uses AI. Check for mistakes.
Comment thread .mergify.yml
Comment on lines 99 to +103
description: Make sure PRs are within 10 commits of the base branch before merging
if:
- base = main
success_conditions:
- "#commits-behind <= 10"
- "#commits-behind <= 3"
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

The outdated-PR protection now enforces #commits-behind <= 3, but the description still says PRs must be within 10 commits. Either update the description to match the new threshold or revert the threshold change. Also confirm the tighter limit is intended, since it can block merges/queueing more aggressively than before.

Copilot uses AI. Check for mistakes.
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

This was referenced Mar 1, 2026
unclesp1d3r added a commit that referenced this pull request Mar 2, 2026
Update documentation for
#124

_Generated by [Dosu](https://dosu.dev)_

Co-authored-by: dosubot[bot] <131922026+dosubot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
@github-actions github-actions Bot mentioned this pull request Mar 2, 2026
mergify Bot pushed a commit that referenced this pull request Mar 2, 2026
## 🤖 New release

* `libmagic-rs`: 0.2.0 -> 0.2.1 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

## [0.2.1] - 2026-03-02

### Bug Fixes

- **mergify**: Exempt release-plz PRs from CI merge protection
([#121](#121))

### Documentation

- **readme**: Use reference-style links for badges
([#128](#128))

### Miscellaneous Tasks

- **Mergify**: Configuration update
([#124](#124))
- **Mergify**: Configuration update
([#126](#126))
- **mergify**: Streamline auto-approval and merging rules for bots
<!-- generated by git-cliff -->
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
mergify Bot added a commit that referenced this pull request Mar 6, 2026
Update documentation for
#124

Add a complete CONTRIBUTING.md file with guidelines for developers
contributing to libmagic-rs. The guide covers development setup, project
architecture, code quality requirements, testing standards,
documentation practices, PR submission workflow, style guidelines, and
project governance. This provides contributors with clear expectations
and processes for participating in the project.

_Generated by [Dosu](https://dosu.dev)_

Co-authored-by: dosubot[bot] <131922026+dosubot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
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