Skip to content

Conversation

Strift
Copy link
Collaborator

@Strift Strift commented Sep 18, 2025

Pull Request

what

@curquiza recommends enabling merge queues on all Meilisearch repositories to replace using bors.

how

  • Add merge_group trigger to the test workflow

PR checklist

Please check if your PR fulfills the following requirements:

  • Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
  • Have you read the contributing guidelines?
  • Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

Summary by CodeRabbit

  • Chores

    • CI triggers simplified: grouped pull-request merges added; runs limited to main and v1.x.
    • Removed legacy CI orchestration and its lengthy timeout/test matrix.
    • Fewer config files are excluded from exports.
  • Documentation

    • Contributor guide refreshed: friendlier intro, clarified PR/git guidance, updated Merge Queue and release publishing guidance (Release Drafter).
    • Release draft templates adjusted to change which bot mentions are stripped; removed a CI/bot badge from the README.

@Strift Strift added the maintenance Anything related to maintenance (CI, tests, refactoring...) label Sep 18, 2025
Copy link

coderabbitai bot commented Sep 18, 2025

Walkthrough

Updated CI workflow triggers, revised contributor documentation, and removed Bors configuration. Specifically: added a pull_request trigger type merge_group and narrowed push branches in .github/workflows/tests.yml; rewrote CONTRIBUTING.md content and process guidance; deleted bors.toml status/timeouts block. (50 words)

Changes

Cohort / File(s) Summary
CI Workflow
.github/workflows/tests.yml
Added a pull_request trigger named merge_group; narrowed push branch filters to only main and v1.x; removed an outdated comment. No jobs or steps changed.
Contributor Guide
CONTRIBUTING.md
Rewrote introduction and assumptions, updated contribution workflow and Git guidance, replaced PR automation notes with Merge Queue guidance, reworked release process and publishing steps, and softened tone to be more collaborative.
Bors Configuration
bors.toml
Removed the Bors configuration block that declared many status checks across PHP versions and a 3600s timeout.
Release templates & Docs
.github/release-draft-template.yml, .github/release-draft-template-v1.yml, README.md, .gitattributes
Removed replacer entries that stripped mentions of @meili-bors, @dependabot-preview, and @dependabot in the release-draft templates (left replacer for @meili-bot); removed the Bors-enabled badge from README.md; dropped export-ignore entry for bors.toml in .gitattributes.

Sequence Diagram(s)

sequenceDiagram
  participant Dev as Developer
  participant GH as GitHub
  participant CI as Actions Runner

  Note over GH,CI #DDEBF7: Updated workflow triggers
  Dev->>GH: push to `main` or `v1.x`
  activate GH
  GH->>CI: dispatch workflow (push)
  deactivate GH

  Dev->>GH: open PR (merge_group)
  activate GH
  GH->>CI: dispatch workflow (pull_request: merge_group)
  deactivate GH

  Note over CI #F7F6D9: Workflow jobs run (unchanged)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • curquiza
  • brunoocasali
  • norkunas

Poem

In my burrow of branches I nibble and prune,
Triggers align under moon and bright noon.
Docs got a polish, the old bot went bye-bye,
CI still hums, with a merge_group sigh.
Hop, clap, release — a carrot-lined sky 🥕✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title “Migrate CI from bors to merge queue” succinctly captures the primary change of replacing Bors with a merge queue in the CI workflows, aligning directly with the pull request’s objectives of updating the test workflow triggers and tooling. It is clear, concise, and specific enough for someone scanning the repository history to understand the main purpose of the changes.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/update-ci-for-merge-queue

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ebcb3e4 and 013e5c4.

📒 Files selected for processing (2)
  • .github/release-draft-template-v1.yml (0 hunks)
  • .github/release-draft-template.yml (0 hunks)
💤 Files with no reviewable changes (2)
  • .github/release-draft-template-v1.yml
  • .github/release-draft-template.yml

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
.github/workflows/tests.yml (1)

3-6: Optional: Scope pull_request event types to cut CI noise.

If you only need CI on code changes, consider restricting PR trigger types.

Apply this diff:

 on:
-  pull_request:
+  pull_request:
+    types: [opened, synchronize, reopened, ready_for_review]
   merge_group:
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f37c708 and f537241.

📒 Files selected for processing (1)
  • .github/workflows/tests.yml (1 hunks)
🔇 Additional comments (1)
.github/workflows/tests.yml (1)

3-6: Merge queue trigger LGTM; confirm repo settings.

Adding merge_group at the top level under on: is correct for GitHub’s merge queue. Please confirm that merge queue is enabled (and protected) for main and v1.x, otherwise this event won’t fire.

@Strift Strift force-pushed the chore/update-ci-for-merge-queue branch from f537241 to dc36472 Compare September 19, 2025 08:08
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
.github/workflows/tests.yml (1)

3-9: Merge queue trigger added — add types and confirm branch protections.

Good call adding merge_group. Per GitHub’s guidance, consider specifying activity types to future‑proof the trigger and make intent explicit.

Apply:

 on:
   pull_request:
-  merge_group:
+  merge_group:
+    types: [checks_requested]
   push:
     branches:
       - main
       - v1.x
  • Rationale: merge_group is a separate event from pull_request; GitHub recommends adding it explicitly and optionally scoping to types: [checks_requested]. (docs.github.com)
  • Please also verify your branch protection rules now require the same status checks for the merge queue (otherwise merges from the queue will stall). (docs.github.com)

Optional: Confirm that v1.x is an actual branch name (literal). If you intended a pattern for all v1 maintenance branches, use v1.* instead. (No change needed if v1.x is the canonical branch.)

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f537241 and dc36472.

📒 Files selected for processing (1)
  • .github/workflows/tests.yml (1 hunks)

Copy link
Collaborator

@norkunas norkunas left a comment

Choose a reason for hiding this comment

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

i have no experience with it so just approving 🤷‍♂️

norkunas

This comment was marked as duplicate.

Copy link
Member

@curquiza curquiza left a comment

Choose a reason for hiding this comment

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

I like the initiative! bors is a nightmare recently. I want to remove it everywhere for merge queue

Can you remove all bors mentions?

  • bors toml file
  • mention in contributing
  • ...

@Strift Strift changed the title Trigger CI tests on merge queue Migrate CI from bors to merge queue Sep 24, 2025
@Strift Strift force-pushed the chore/update-ci-for-merge-queue branch from e1e5b57 to 621e53f Compare September 24, 2025 05:22
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (3)
CONTRIBUTING.md (3)

3-3: Intro copy reads well; optional tightening.
Consider dropping “in order to” for brevity.

Apply if you prefer tighter prose:

-Thank you for considering contributing to Meilisearch! This document provides everything you need to know in order to contribute to Meilisearch PHP.
+Thank you for considering contributing to Meilisearch! This document provides everything you need to know to contribute to Meilisearch PHP.

28-31: PR submission guidance: OK; minor clarity tweak.
Suggest explicitly mentioning “from your fork” for first‑timers.

-[Submit the branch as a PR](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) pointing to the `main` branch of the main meilisearch-php repository.
+[From your fork, submit the branch as a PR](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) pointing to the `main` branch of the meilisearch-php repository.

86-86: Merge Queue note is correct; add how to update branch.
Call out rebase/merge instructions to resolve “update required” notices before queueing.

-- The branch related to the PR must be **up-to-date with `main`** before merging. This project uses [Merge Queues](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue) to automatically enforce this requirement.
+- The branch related to the PR must be **up-to-date with `main`** before merging. This project uses [Merge Queues](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue) to enforce this.
+  If the PR shows “update required,” rebase or merge `main` into your branch, then re-queue.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dc36472 and 621e53f.

📒 Files selected for processing (3)
  • .github/workflows/tests.yml (1 hunks)
  • CONTRIBUTING.md (5 hunks)
  • bors.toml (0 hunks)
💤 Files with no reviewable changes (1)
  • bors.toml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/tests.yml
🔇 Additional comments (6)
CONTRIBUTING.md (6)

96-96: Release Drafter mention: good alignment with CI changes.
No issues.


106-110: Version constant snippet: OK.
Matches typical pattern for PHP SDKs.


112-114: Possible typo in external anchor; please confirm link works.
The anchor path contains “writting-the-release-description”. If the upstream doc uses “writing…”, the link may be off.

If needed, update:

-.../integration-release.md#writting-the-release-description
+.../integration-release.md#writing-the-release-description

Also verify Release page link and Packagist coordinates are correct.


118-118: Friendly closing: nice touch.
Good contributor experience.


102-103: Version bump workflow target verified
src/Meilisearch.php exists and declares public const VERSION = '1.16.1'; .github/workflows/update-version.yml is present — workflow can update that constant.


17-19: Verify external links — two redirects found, one OK

CONTRIBUTING.md (lines 17–19): README link returns 200; GitHub PR help URL returns 301; dub.sh returns 302. Follow redirects (curl -L) and confirm final destinations return 200, or replace the redirected URLs with their canonical targets (docs.github.com and the final Discord invite).

@Strift Strift requested a review from curquiza September 24, 2025 05:27
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 621e53f and ebcb3e4.

📒 Files selected for processing (3)
  • .gitattributes (0 hunks)
  • .github/release-draft-template.yml (1 hunks)
  • README.md (0 hunks)
💤 Files with no reviewable changes (2)
  • README.md
  • .gitattributes

@Strift Strift requested a review from curquiza September 26, 2025 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Anything related to maintenance (CI, tests, refactoring...)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants