merge queue: embarking main (e67be06) and #1438 together#1462
Closed
mergify[bot] wants to merge 3 commits into
Closed
merge queue: embarking main (e67be06) and #1438 together#1462mergify[bot] wants to merge 3 commits into
mergify[bot] wants to merge 3 commits into
Conversation
Round-trip the three remaining freeze mutations: - `freeze create` — `POST /v1/repos/<r>/scheduled_freeze` with the Python `CreateScheduledFreezePayload` shape: `start`/`end` always present (null for open-ended emergency freezes), `matching_conditions`/`exclude_conditions` keys omitted when the user passed no `-c`/`-e` flags. When `--timezone` is left off, falls back to `iana-time-zone::get_timezone()` — same role as Python's `tzlocal.get_localzone_name()`. - `freeze update` — `PATCH /v1/repos/<r>/scheduled_freeze/<id>` with skip-if-none on every field so PATCH semantics work correctly: a flag the user didn't pass doesn't touch the stored field. - `freeze delete` — `POST /v1/repos/<r>/scheduled_freeze/<id>/delete` with `delete_reason` in the body only when supplied (the API requires it for active freezes; the CLI lets the server reject a missing reason rather than pre-validating). Adds `Client::patch` on the core HTTP client, a shared `mergify-freeze::common` module (wire-format struct, naive-DT parser, system-timezone detection, per-freeze human printer used by `create` and `update`), and `iana-time-zone` as a new dependency. The Python implementation of each command is left in place but no longer reachable via the binary, since clap now dispatches the whole freeze group natively. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Change-Id: I653dbf47080f439f8c3500a7a526e46d707fc639
A grab-bag of small DRY wins surfaced by the post-port review: - Add `Output::emit_json_value(&serde_json::Value)` to `mergify-core`. The `--json` passthrough commands (`queue status`, `queue show`, `freeze list`) all carried byte-identical `emit_json` private helpers that pretty-printed a value to either the JSON or the human sink. Centralize once. - Drop the `enabled_fg` wrapper in `queue show`: its body was exactly what `Theme::fg` already does, so call `theme.fg(...)` directly. Saves a helper + 13 call-site rewrites of the same redundant indirection. - Drop spurious `response.field.clone()` calls in `queue pause`, `config validate`, and `config simulate`. The closures handed to `Output::emit` borrow from the outer `&Response` parameter; the trait method doesn't require `'static`, so the clones were defensive noise. No behavior change. All workspace tests still pass. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Change-Id: Ied32eef956ebd71a03005530cc394612afd46e5d
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.
✨ New commits have been added to the draft pull request that were not made by Mergify. ✨
Branch main (e67be06) and #1438 are embarked together for merge.
This pull request has been created by Mergify to speculatively check the mergeability of #1438.
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:check-success=ci-gatedepends-on = Mergifyio/mergify-cli#1437[⛓️ feat(rust): port freeze create/update/delete to native Rust #1437]title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?:#approved-reviews-by>=2author = dependabot[bot]author = mergify-ci-botauthor = renovate[bot]body ~= (?ms:.{48,})#changes-requested-reviews-by = 0#review-requested = 0#review-threads-unresolved = 0Required conditions to stay in the queue:
base=maindepends-on = Mergifyio/mergify-cli#1437[⛓️ feat(rust): port freeze create/update/delete to native Rust #1437]label!=manual mergetitle ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?:#approved-reviews-by>=2author = dependabot[bot]author = mergify-ci-botauthor = renovate[bot]body ~= (?ms:.{48,})#changes-requested-reviews-by = 0#review-requested = 0#review-threads-unresolved = 0check-success=ci-gate