Repository navigation
chore(deps): update dependency mergifyio/mergify-cli to v2026.10.8 - #22
Merged
Merged
Conversation
Contributor
Merge Protections🟢 All 6 merge protections satisfied — ready to merge. Show 6 satisfied protections🟢 🤖 Continuous Integration
🟢 👀 Review Requirements
🟢 Enforce conventional commitMake sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
🟢 🔎 Reviews
🟢 📕 PR description
🟢 🚦 Auto-queueWhen all merge protections are satisfied, this pull request will be queued automatically. |
Contributor
✅ Merged into
|
| Condition | Required by | |
|---|---|---|
| ✅ | title ~= ^(fix|feat|internal|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?!?: |
Merge Protections rule Enforce conventional commit |
| ✅ | any of: author = renovate[bot], #approved-reviews-by>=1, author = dependabot[bot], author = mergify-ci-bot |
Merge Protections rule 👀 Review Requirements |
| ✅ | body ~= (?ms:.{48,}) |
Merge Protections rule 📕 PR description |
| ✅ | #changes-requested-reviews-by = 0 |
Merge Protections rule 🔎 Reviews |
| ✅ | #review-requested = 0 |
Merge Protections rule 🔎 Reviews |
| ✅ | #review-threads-unresolved = 0 |
Merge Protections rule 🔎 Reviews |
The batch, tested on draft #24
| Condition | Required by | |
|---|---|---|
| ✅ | check-success=all-greens |
Merge Protections rule 🤖 Continuous Integration |
Times in UTC · dashboard · how the merge queue works
This was referenced Oct 27, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2026.7.21.1→2026.10.82026.10.9Release Notes
Mergifyio/mergify-cli
v2026.10.8Compare Source
minitest-mergifyis out: Minitest suites, Rails' included, report to Test Engine without a JUnit file and get the quarantine, flaky detection and Fail First. rspec-mergify now names each example by its file, groups and description instead of its position, and Fail First no longer needs a variable on each job. Read the first section before you upgrade.Before you upgrade
<file> > <groups> > <description>, where it used RSpec's id (./spec/models/user_spec.rb[1:2]), which numbers an example by its place: adding an example renamed every one after it, and handed its quarantine entry and its history to its neighbour. Mergify's lists keep matching after the upgrade: an example quarantined, known flaky or known unhealthy under its id is still treated that way, and the upgrade's pull request takes no example for a new one. A repository moving from a JUnit upload keeps its entries too, under the names that upload gave, except that flaky detection takes an example without a description for a new one on the pull request that switches. Two things do change. Each example's history on the dashboard starts over under its new name. And an entry made under an id still follows that place rather than the example, so quarantine those examples again under their new names.mergify-ci-core, a new gem that holds the part compiled for each platform. Bundler installs it with rspec-mergify, at the same version, precompiled for Linux (glibc and musl), macOS and Windows. A gem mirror that serves an allowlist needs it too.MERGIFY_TEST_SELECTION_ENABLE=trueon the job.MERGIFY_FAIL_FIRST_ENABLE=falseturns it off for a job.MERGIFY_TEST_SELECTION_ENABLEis still read while the new variable is unset, and the report names it deprecated.Minitest
minitest-mergifyis a Minitest plugin, for Minitest 5.19 and later on Ruby 3.1 and later, and Minitest 6 on Ruby 3.2 and later. Add it to your Gemfile, and require it where your suite sets Minitest up, before its tests are defined, such as intest/test_helper.rb:It reports runs in one process, in Minitest's threads (
parallelize_me!) and in Rails' parallel workers (parallelize), and keeps the reporters you already use, minitest-reporters included. A quarantined failure doesn't fail the run, and reads as a skip in Minitest's summary. New tests are rerun on a pull request to catch a flaky one before it merges, and a merge queue bisection step runs its batch's failures first.A test in a class is named as Minitest names it,
UserTest#test_valid; one in adescribeblock by its file, its describes and its text. A test quarantined under the name a JUnit upload gave it (UserTest.test_valid, from minitest-junit or minitest-reporters) stays quarantined.Test clients
mergify CLI
mergify tests runslists the test runs Mergify received for a commit, one line per job name they arrived under: how many runs and re-runs, how many arrived whole, the plugin or report that sent them and its version, and their test counts. A results upload that fails leaves its job green, so this is where a missing or misnamed job shows. It takes the commit under test by default, or--sha,--pror--branch, and--jsonprints the API's answer.mergify-test-engine-setup, sets Test Engine up in a repository: it finds the frameworks and CI jobs, installs the plugin or wires a JUnit upload, opens the pull request, then checks that pull request's runs before reporting. Load it withnpx skills use Mergifyio/mergify-cli --skill mergify-test-engine-setup.v2026.10.7Compare Source
@mergifyio/jestand@mergifyio/mochaare out, so Jest and Mocha get what the Vitest and Playwright reporters already do: traces uploaded as the tests run, with no JUnit file to write and upload afterwards, the quarantine, flaky detection's reruns and Fail First. This release also fixes@mergifyio/vitestand@mergifyio/playwright2026.10.6 failing a green run when flaky detection planned more than a minute of reruns.Before you upgrade
Jest and Mocha
@mergifyio/jestis a Jest reporter, for Jest 29 or later. Wrap your config withwithMergify, in ajest.config.js(or.ts,.mjs,.cjs):@mergifyio/mochais a Mocha plugin, for Mocha 10 or later. Have Mocha require it, withrequire: ['@mergifyio/mocha']in your.mocharcormocha --require @mergifyio/mocha. It takes up no reporter, sospec,mocha-junit-reporterormochawesomestay as they are, and it covers--parallelruns.Both keep a quarantined test's failure from failing the run, rerun new tests on a pull request to catch a flaky one before it merges, and run a merge queue bisection step's failures first. Set
MERGIFY_TOKENin CI. Each package's README lists the setups it supports.Test clients
@mergifyio/vitestand@mergifyio/playwright: when flaky detection planned more than a minute of reruns, the run failed after all its tests had passed, withRangeError: The value of "timeout" is out of range. The reruns now start.@mergifyio/vitest: a project whose Vitest config loads as CommonJS (avitest.config.tsin a package that is not"type": "module") no longer fails every test file with "Vitest cannot be imported in a CommonJS module using require()".v2026.10.6Compare Source
pytest-mergify, rspec-mergify,
@mergifyio/vitestand@mergifyio/playwrightnow make every decision (quarantine, flaky detection's reruns, Test Selection, the run's verdict) in one shared core, so the four reporters behave alike and end the run with the same report. Some runs that passed with 2026.10.5 can fail with this release: read the first section before you upgrade.Before you upgrade
retries, Vitest'sretry, rspec-retry, pytest-rerunfailures) now reaches Mergify with every attempt, where it used to reach it as its last one. On a pull request, a new test that the framework's retry rescued is flaky, and fails the run as one that flaky detection's reruns caught does.@mergifyio/playwright: on a pull request, a new test that fails one of flaky detection's reruns now fails the run, as it already did with the other three reporters. It used to be reported as flaky while the run stayed green.@mergifyio/playwright: on push and scheduled runs, the tests Mergify lists as unhealthy are no longer treated as quarantined. Their first attempt decides the run, as in the other reporters, and only the tests you quarantined are absorbed.@mergifyio/vitestnames each test with its file,<file> > <suites> > <title>, as the other reporters do. Two tests with the same suites and title in two files used to be one test to Mergify. A test quarantined under its former name stays quarantined, and flaky detection still recognizes it, but each test's history on the dashboard starts over under its new name.Test clients
@mergifyio/vitestas passed, so a quarantined test that kept failing could show as recovered, and Vitest's could even be unquarantined byunquarantine_when_healthy.mergify ci junit-process.@mergifyio/playwrightsends a failure's type and message as the test raised them (TypeError, then its message), where it sentErrorand the whole line.--reruns,--only-rerunand theflakymarker work as they do without pytest-mergify. A test that failed once used to fail the job. When the plugin's attempts all fail, Mergify's test retry still gets its turn.@mergifyio/vitest: Vitest 3 runs upload their traces again. A missing file path on Vitest 3 had made every upload fail silently.@mergifyio/vitest: flaky detection reruns its tests once the run is over, on one budget for the whole run, where it used to plan a budget per test file before the tests ran. A run with no Vitest configuration file can't be rerun and says so. Browser projects, the Cloudflare Workers pool and type checks are not rerun.@mergifyio/playwright: flaky detection's reruns no longer overwrite your JUnit and HTML reports, yourtest-resultsdirectory or the record--last-failedreads, and they run in the directory the run started in, so a new test that reads a relative path is no longer found flaky.@mergifyio/playwrightno longer writes undernode_modules/.cache. Wherenode_modulesis read-only (Nix, a Bazel sandbox, a read-only image layer), its workers could miss the quarantine and fail on a quarantined test.@mergifyio/playwright: a run whose tests passed but whose global teardown threw no longer sends Mergify a verdict that reads as green, so a merge queue retry runs the whole suite instead of nothing.MERGIFY_CI_ENABLEturns a reporter on outside CI, andMERGIFY_CI_DEBUGmakes it print instead of upload.PLAYWRIGHT_MERGIFY_INCLUDE_PROJECT_IN_TEST_NAMEbecomesMERGIFY_PLAYWRIGHT_INCLUDE_PROJECT_IN_TEST_NAME. The old names (PYTEST_MERGIFY_ENABLE,RSPEC_MERGIFY_DEBUGand the like) still work, and the report names the replacement of any you set.RSPEC_MERGIFY_DEBUGis now read as a boolean like the others, soRSPEC_MERGIFY_DEBUG=falseno longer turns debug mode on.environment-variables.json, the list of every variable the reporters and the CLI read.mergify CLI
mergify ci junit-processchecks the test results against the schema Mergify publishes before uploading them, and refuses an upload Mergify would drop, such as one missing its branch, commit or pipeline name. The report lists each problem, and GitHub Actions gets an error annotation. When the schema can't be fetched within 10 seconds, the upload goes ahead unchecked.mergify ci junit-processno longer stops when it can't tell which branch the run tests: it uploads the results, turns quarantine off for that run and says so.mergify ci junit-process: the all-green verdict no longer says "no quarantine needed" under a list of quarantined tests.mergify ci git-refsandmergify ci scopesread the merge queue's git note on push builds of a queue branch too (a GitHubpushevent, a Buildkite branch build), so they diff against the batch's base and return the scopes the merge queue decided. A push that creates a branch is diffed against the default branch, since itsbeforenames no commit.mergify ci scopes: a scope withinclude: []matches every file not excluded, as Mergify reads it. It used to match nothing. Scope globs are now matched by the same code Mergify uses.<<merge keys are expanded, andyes,no,onandoffare booleans.mergify queue statusshows the batches being formed, in a Forming section above the waiting list.mergify queue show: an unmet condition group is summarized with its own logic (all ofjoined withand,any ofwithor, anotkept), and the members that decide it come first. Every group used to read asor.mergify stack push:stack push,list,syncandcheckoutwork behind a proxy that refuses a path ending in/, such as Claude Code on the web's.mergify self-updateno longer takes a pre-release back to the last final.--forcestill does.v2026.10.5Compare Source
mergify CLI
mergify ci scopesnow accepts a glob with a[inside a character class (e.g.[a[:alpha:]]/b), reading it as a literal character, the way Mergify does. It used to reject it as a configuration error.Test clients
@mergifyio/playwright: when a CI job is cancelled, a test that never started is now reported as skipped instead of failed, so cancelled runs no longer mark tests as broken or flaky.v2026.10.4Compare Source
New license. From this release on, the Mergify CLI, its agent skills and the test clients (
pytest-mergify,rspec-mergify,@mergifyio/*) are proprietary. Each package ships aLICENSEthat lets you install and run it, unmodified, with the Mergify service, including as a dependency of your project and in internal mirrors, container images and CI. It also ships aTHIRD_PARTY_LICENSESfile with the notices of the open-source components it bundles. Earlier versions keep the license they were released under, and nothing changes in how you install or update.mergify CLI
mergify tests quarantines list,getandremovenow follow pagination, so they see every quarantined test, not only the first page.mergify tests showno longer fails on a test that has no last conclusion recorded.mergify ci junit-processnow records the test framework (--test-framework) and each test case's function name.ca-certificates): it trusts its bundled root certificates alongside the system ones.User-Agent.Retry-After) and rate-limited 403s are retried, within a bounded time.not registered on GitHub.Test clients
rspec-mergify: pending and skipped examples (skip,xit,pending, and quarantined failures) are now uploaded as skipped. They were dropped before.CLI and test clients
HEADas its branch.v2026.10.3Compare Source
The mergify CLI now ships with the test clients. From this release on,
mergify-cli(PyPI, the binaries below,install.sh,mergify self-update, Homebrew) and the test-client packages (pytest-mergify,rspec-mergify,@mergifyio/*) are released together, under oneYYYY.M.Nversion. Nothing changes in how you install or update either.The CLI goes from
2026.10.1to2026.10.3:2026.10.2was a test-clients-only release.mergify CLI (since 2026.10.1)
mergify auth login --device-nameoverrides the hostname the login is registered under.mergify ci scopes:--base origin/mainworks on a shallow clone;Test clients (since 2026.10.2)
@mergifyio/ci-native) and updated patch releases of their TLS and error-handling dependencies (rustls 0.23.45).v2026.10.2Compare Source
No functional change in any client: this release updates package metadata and dependencies.
All clients
@mergifyio/* (npm)
v2026.10.1Compare Source
What's Changed
.yamlspelling by @jd in #1855Full Changelog: Mergifyio/mergify-cli@2026.9.16.1...2026.10.1
v2026.9.16.1Compare Source
What's Changed
auth loginby @sileht in #1827Full Changelog: Mergifyio/mergify-cli@2026.9.10.1...2026.9.16.1
v2026.9.10.1Compare Source
What's Changed
tests showonto the admin token by @jd in #1798Full Changelog: Mergifyio/mergify-cli@2026.8.28.1...2026.9.10.1
v2026.8.31.1Compare Source
What's Changed
Full Changelog: Mergifyio/mergify-cli@2026.8.11.1...2026.8.31.1
v2026.8.28.1Compare Source
What's Changed
Full Changelog: Mergifyio/mergify-cli@2026.8.11.1...2026.8.28.1
v2026.8.11.1Compare Source
What's Changed
cfg!(test)by @jd in #1765Full Changelog: Mergifyio/mergify-cli@2026.8.7.1...2026.8.11.1
v2026.8.7.1Compare Source
What's Changed
queue showby @jd in #1747*and?at/to match the engine by @sileht in #1752mergify events, a timeline over the activity log by @jd in #1760Full Changelog: Mergifyio/mergify-cli@2026.7.29.1...2026.8.7.1
v2026.7.29.1Compare Source
What's Changed
Full Changelog: Mergifyio/mergify-cli@2026.7.21.1...2026.7.29.1
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.