merge queue: embarking main (6411089), #1267, #1264 and #1243 together#1275
Closed
mergify[bot] wants to merge 6 commits into
Closed
merge queue: embarking main (6411089), #1267, #1264 and #1243 together#1275mergify[bot] wants to merge 6 commits into
mergify[bot] wants to merge 6 commits into
Conversation
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
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 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
defaultfor merge:title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?:stack list --jsonoutput #1243#approved-reviews-by>=2stack list --jsonoutput #1243author = dependabot[bot]stack list --jsonoutput #1243author = mergify-ci-botstack list --jsonoutput #1243author = renovate[bot]stack list --jsonoutput #1243body ~= (?ms:.{48,})stack list --jsonoutput #1243#changes-requested-reviews-by = 0stack list --jsonoutput #1243#review-requested = 0stack list --jsonoutput #1243#review-threads-unresolved = 0stack list --jsonoutput #1243check-success=ci-gateRequired conditions to stay in the queue:
base=mainstack list --jsonoutput #1243label!=manual mergestack list --jsonoutput #1243title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?:stack list --jsonoutput #1243#approved-reviews-by>=2stack list --jsonoutput #1243author = dependabot[bot]stack list --jsonoutput #1243author = mergify-ci-botstack list --jsonoutput #1243author = renovate[bot]stack list --jsonoutput #1243body ~= (?ms:.{48,})stack list --jsonoutput #1243#changes-requested-reviews-by = 0stack list --jsonoutput #1243#review-requested = 0stack list --jsonoutput #1243#review-threads-unresolved = 0stack list --jsonoutput #1243check-success=ci-gatestack list --jsonoutput #1243