chore(python): drop config validate/simulate Python code, now native in Rust#1322
Conversation
Member
Author
|
This pull request is part of a Mergify stack:
|
Contributor
Merge ProtectionsYour pull request matches the following merge protections and will not be merged until they are valid. 🔴 ⛓️ Depends-On RequirementsWaiting for:
This rule is failing.Requirement based on the presence of
🔴 👀 Review RequirementsWaiting for:
This rule is failing.
🔴 🔎 ReviewsWaiting for:
This rule is failing.
🟢 🤖 Continuous IntegrationWonderful, this rule succeeded.
🟢 Enforce conventional commitWonderful, this rule succeeded.Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
🟢 📕 PR descriptionWonderful, this rule succeeded.
|
e5530f7 to
31628c9
Compare
1b53967 to
a745f41
Compare
Member
Author
Revision history
|
31628c9 to
b6420ce
Compare
a745f41 to
800a454
Compare
800a454 to
75fad04
Compare
…in Rust `config validate` (#1282) and `config simulate` (#1298) ship native in the Rust binary. With the maturin wheel from the previous commit, both routes resolve to the Rust dispatch — the Python implementations are dead code, just waiting to drift out of sync with the Rust copy. Per the post-port plan agreed during review, every command's Python copy is removed in the same change that makes it releasable as a single Rust source. For commands already merged before the rule was adopted, this commit catches them up: - Delete `mergify_cli/config/` package (cli.py, validate.py). - Delete `mergify_cli/tests/config/` (the 18 Python tests for validate/simulate; the Rust crate's 24 tests cover the same surface plus extras). - Drop the two `[[command]]` entries from `PORT_STATUS.toml` — the inventory test only needs to track *Python* commands, and these are no longer Python. - Trim the cross-command exit-code contract suite of its three config-related cases; the Rust crate enforces those exit codes natively. - Drop the `from mergify_cli.config import cli as config_cli_mod` import + matching `cli.add_command(...)` from the root Python CLI; with no Python config commands left, the `config` group disappears from the click tree (the Rust binary intercepts before any click group lookup, so end-users see no behavior change). The wheel still builds, installs, and runs both `mergify config validate` (Rust native) and `mergify --help` (Python shim). 592 of the previous 610 Python tests pass; the missing 18 are the deleted config tests. Change-Id: Ic88170ca01430b62fb98df9aa5fd8e644bdb6e09
f4c7454 to
d7dfb31
Compare
75fad04 to
04d71cb
Compare
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.
config validate(#1282) andconfig simulate(#1298) ship nativein the Rust binary. With the maturin wheel from the previous commit,
both routes resolve to the Rust dispatch — the Python implementations
are dead code, just waiting to drift out of sync with the Rust copy.
Per the post-port plan agreed during review, every command's Python
copy is removed in the same change that makes it releasable as a
single Rust source. For commands already merged before the rule was
adopted, this commit catches them up:
mergify_cli/config/package (cli.py, validate.py).mergify_cli/tests/config/(the 18 Python tests forvalidate/simulate; the Rust crate's 24 tests cover the same surface
plus extras).
[[command]]entries fromPORT_STATUS.toml—the inventory test only needs to track Python commands, and
these are no longer Python.
config-related cases; the Rust crate enforces those exit codes
natively.
from mergify_cli.config import cli as config_cli_modimport + matching
cli.add_command(...)from the root Python CLI;with no Python config commands left, the
configgroup disappearsfrom the click tree (the Rust binary intercepts before any click
group lookup, so end-users see no behavior change).
The wheel still builds, installs, and runs both
mergify config validate(Rust native) andmergify --help(Python shim). 592 ofthe previous 610 Python tests pass; the missing 18 are the deleted
config tests.
Depends-On: #1321