Skip to content

merge queue: embarking main (6411089), #1267, #1264 and #1243 together#1275

Closed
mergify[bot] wants to merge 6 commits into
mainfrom
mergify/merge-queue/fffe9414f7
Closed

merge queue: embarking main (6411089), #1267, #1264 and #1243 together#1275
mergify[bot] wants to merge 6 commits into
mainfrom
mergify/merge-queue/fffe9414f7

Conversation

@mergify
Copy link
Copy Markdown
Contributor

@mergify mergify Bot commented Apr 21, 2026

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

Branch main (6411089), #1267, #1264 and #1243 are embarked together for merge.

This pull request has been created by Mergify to speculatively check the mergeability of #1243.
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: 9d00e7d1fc5f5b888f0725f51cc8c35297388ba3
previous_failed_batches: []
pull_requests:
  - number: 1243
    scopes: []
scopes: []
...

jd and others added 6 commits April 20, 2026 15:58
Adds two helpers to mergify_cli/stack/reorder.py, used by the new
squash and fixup commands:

- run_action_rebase reorders picks to a desired sha order (same as
  run_rebase) and additionally rewrites pick -> squash|fixup for shas
  listed in actions. An optional exec_after_sha + exec_command pair
  inserts an "exec <cmd>" line right after the named sha's row — used
  by squash to amend the combined commit's message while HEAD still
  points at it.
- display_action_plan prints the plan tagged with each commit's action.

run_rebase now delegates to run_action_rebase with an empty actions
dict to avoid duplicating the embedded rebase-todo rewrite script.

No user-facing behavior change — preparation for the fixup and squash
commands.

Change-Id: I560beaa3ed28ee211f601d15e550411fbe8107c4
Attach free-text "why was this commit amended" notes to commits. Notes
live in refs/notes/mergify/stack, a dedicated leaf under the
refs/notes/mergify/ namespace (sibling to the MQ note refs). `mergify
stack setup` appends refs/notes/mergify/* to notes.displayRef so plain
`git log` shows all mergify notes (both stack and MQ) automatically.

Usage:

  mergify stack note [-m MESSAGE] [--append] [--remove] [COMMIT]

- COMMIT defaults to HEAD; accepts SHA prefix or Change-Id prefix.
- -m MESSAGE attaches the note inline; without it, $GIT_EDITOR opens
  with a template where comment lines (starting with #) are stripped.
- --append concatenates to an existing note.
- --remove deletes the note (idempotent).

This is the first of two PRs for the stack-notes feature. This PR adds
the command surface and local visibility via `git log`. A follow-up PR
pushes the notes ref to the remote and surfaces the reasons in the
revision-history PR comment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Change-Id: I33cc921fb2caac6a31d2284b2ef76d0429b510ef
Pins the JSON output shape of `mergify stack list --json` so any
drift is caught in CI. The Rust port will reuse this model as its
output schema, and downstream scripts that parse this output get a
stable contract.

- New `mergify_cli/stack/list_schema.py` with Pydantic BaseModels
  mirroring StackListOutput.to_dict(). extra="forbid" rejects any
  new/renamed/removed fields or wrong types.
- test_stack_list_json_output now validates parsed output against
  StackListJsonOutput. Failing here means either the code drifted
  (needs revert) or the shape changed intentionally (update both
  the dataclass and the schema in one commit, treat as a breaking
  change for consumers).

`freeze list`, `queue status`, `queue show` are deliberately NOT
locked: their JSON output is a passthrough of the Mergify API
response, so the schema is the API's contract, not this CLI's.
Added inline comments documenting that invariant so the Rust port
preserves the passthrough behavior without introducing
transformations.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Change-Id: I72306d8596c6ca7c4f2f562fc1298244417a57b3
@mergify mergify Bot deployed to Mergify Merge Protections April 21, 2026 07:38 Active
@mergify mergify Bot closed this Apr 21, 2026
@mergify mergify Bot deleted the mergify/merge-queue/fffe9414f7 branch April 21, 2026 07:43
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