Skip to content

merge queue: embarking main (8e77faf) and #1409 together#1424

Closed
mergify[bot] wants to merge 4 commits into
mainfrom
mergify/merge-queue/d83ea94e6a
Closed

merge queue: embarking main (8e77faf) and #1409 together#1424
mergify[bot] wants to merge 4 commits into
mainfrom
mergify/merge-queue/d83ea94e6a

Conversation

@mergify
Copy link
Copy Markdown
Contributor

@mergify mergify Bot commented May 18, 2026

🎉 This pull request has been checked successfully and will be merged soon. 🎉

Branch main (8e77faf) and #1409 are embarked together for merge.

This pull request has been created by Mergify to speculatively check the mergeability of #1409.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.

Required conditions of queue rule default for merge:

Required conditions to stay in the queue:

---
checking_base_sha: 8e77faf05ce286ae7ced016ecc8551d9d4d1fda7
previous_failed_batches: []
pull_requests:
  - number: 1409
    scopes: []
scopes: []
...

jd and others added 4 commits May 13, 2026 10:25
Pins the contract for ``mergify ci queue-info`` so the upcoming
Rust port can be validated against the same test that exercises
the Python implementation. Lands first; the port commit on top
re-runs this test against Rust — same contract, both ends.

The test doesn't need ``live_token`` (the command is locally
evaluated). The conftest fixture scrubs every event env var and
runs in a tmp dir, so the detector always reports "no MQ
context". The assertion checks for exit code 7 (``INVALID_STATE``)
and an MQ-context message in stdout or stderr.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Change-Id: Idff72acfc1f35f7f64051a4f62a3fe625d2b802f
The Rust binary now serves ``mergify ci queue-info`` natively.
The Python implementation (``mergify_cli/ci/cli.py:queue_info``)
and its tests are removed in the same PR — port-and-delete keeps
a single live copy.

The previous commit landed a live-smoke test pinning the
``INVALID_STATE`` exit code outside an MQ context. That same
test now exercises the Rust path.

``ci queue-info`` prints the merge-queue batch metadata embedded
in the current draft PR as pretty JSON. Outside an MQ context
(no event payload, no PR body fenced block) it exits
``INVALID_STATE`` (exit 7).

When ``$GITHUB_OUTPUT`` is set (GitHub Actions runner), the
command also appends the metadata as ``queue_metadata`` under a
random ``ghadelimiter_<uuid>`` heredoc, matching the pattern
GitHub Actions expects for multi-line workflow outputs.

The implementation reuses the shared ``queue_metadata`` and
``github_event`` modules introduced by the previous (git-refs)
port commit.

Adds the ``uuid`` dep (v4 random UUIDs for the ghadelimiter) to
the ``mergify-ci`` crate.

3 new queue-info tests in the ``mergify-ci`` crate. The Python
queue-info tests in ``test_cli.py``, ``test_cli_exit_codes.py``,
and ``test_exit_code_contract.py`` are removed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Change-Id: If0cdc5a06685387f6a9379b237eb5d184b071dc4
Pins the contract for ``mergify queue status --json`` before the
Rust port lands on top. Same test exercises Python at this PR's
CI and Rust on the port commit's rebase — same URL, same auth,
same JSON-passthrough output.

Uses ``live_token`` since the command hits the real Mergify API.
The assertion is intentionally loose: exit 0 and stdout parses
as a JSON object. The schema is the API's contract, not the
CLI's, so any field-level assertion would tie the test to
unrelated upstream changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Change-Id: I76f21b1ad4ddd34196ede18d3a0c768d339a8659
@mergify mergify Bot deployed to Mergify Merge Protections May 18, 2026 07:51 Active
@mergify mergify Bot temporarily deployed to func-tests-live May 18, 2026 07:51 Inactive
@mergify mergify Bot closed this May 18, 2026
@mergify mergify Bot deleted the mergify/merge-queue/d83ea94e6a branch May 18, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant