merge queue: embarking main (0d5d389) and #1263 together#1289
Closed
mergify[bot] wants to merge 2 commits intomainfrom
Closed
merge queue: embarking main (0d5d389) and #1263 together#1289mergify[bot] wants to merge 2 commits intomainfrom
mergify[bot] wants to merge 2 commits intomainfrom
Conversation
Introduces the Rust toolchain skeleton for the upcoming port. Ships nothing functional — the binary prints an identification line and exits 0. The value of this commit is the groundwork: a reviewable workspace layout, lint/test/release pipeline wired into CI, and a clear toolchain policy so subsequent phases have a stable foundation. ## Layout ``` Cargo.toml # workspace root rust-toolchain.toml # tracks latest stable + rustfmt/clippy crates/ mergify-cli/ # [[bin]] name = "mergify"; Phase 1.0 stub mergify-core/ # shared foundations (empty today; filled in 1.2) ``` Per the design, more crates (`mergify-py-shim`, one per command group) land in later phases. The 2-crate start is deliberate: the workspace exists, the lints and profile are set workspace-wide, but there is nothing for a reviewer to miss. ## Conventions - Edition 2024, MSRV `rust-version = 1.85` (edition-2024 minimum). - ``rust-toolchain.toml`` uses ``channel = "stable"`` — tracks the current stable toolchain, not a specific pinned version. Renovate can bump it later if we want a narrower contract. - Workspace-level lints: `unsafe_code = "forbid"`, `clippy::all`, `clippy::pedantic`. A small allow-list (`module_name_repetitions`, `missing_errors_doc`, `missing_panics_doc`) kills noise that would otherwise dominate a CLI with many small modules. Revisit per-PR. - Release profile: thin LTO, single codegen unit, symbols stripped — reduces binary size for `cargo-dist` output in Phase 1.5. ## CI New `rust` job on ubuntu-24.04: ``rustup toolchain install stable`` explicitly (so the build is deterministic against whatever the runner image has cached), then ``cargo fmt --check``, ``cargo clippy -D warnings``, ``cargo test``, ``cargo build --release``. Added to ``ci-gate`` so a red Rust job blocks merge just like linters and tests. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Change-Id: I4b278cf7800294f4f01758618fe5c125b7bb082d
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 (0d5d389) and #1263 are embarked together for merge.
This pull request has been created by Mergify to speculatively check the mergeability of #1263.
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)(?:\(.+\))?:#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-gateRequired conditions to stay in the queue:
base=mainlabel!=manual mergetitle ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?:#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