← Back to issue list

plugins/rust_plugin: rewrite the plugin to improve UX

View original Github issue

Metadata

Project
craft-parts
Number
#530
Type
pull request
State
merged
Author
liushuyu
Labels
Created
Updated
Closed

Current evaluation

Merged a Rust plugin rewrite improving UX with default Rustup, LTO, toolchain version, and feature toggles. Failing tests for Ubuntu 20.04 Chisel support were resolved via a separate PR and rebasing prior to merge.

Suggested action:

No scores available.

Issue body

- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- The new plugin will install the Rustup toolchain by default (opt-out possible) and also makes it more intelligent. Three new options have been added: - One option for enabling LTO (more optimized binary) - One option for specifying Rust toolchain channel/version - One option for disabling default features in the Rust crate

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged a Rust plugin rewrite improving UX with default Rustup, LTO, toolchain version, and feature toggles. Failing tests for Ubuntu 20.04 Chisel support were resolved via a separate PR and rebasing prior to merge.
qwen3.6-35b-a3b-mtp-q6 Merged rewrite of the Rust plugin to improve UX, adding Rustup installation, LTO, toolchain version, and default feature options. CI failures were resolved via rebase and test updates for changed Chisel support. Documentation sync noted.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#4297 Rust plugin: rewrite the Rust plugin for core20 snapcraft merged Merged a core20 Rust plugin rewrite migrating to the new plugin system. Added LTO support, custom toolchain channel selection, and default feature disabling. Resolved test mocking issues and CI feedback prior to merge.
81%
#2431 rust plugin: update to use latest rustup command options snapcraft merged Merged update to the Rust plugin replacing deprecated rustup command options with current equivalents. Approved by a reviewer, passed CI, modified five files, and maintained 94.5% test coverage.
77%
#2434 rust plugin: refactor to use the latest rustup snapcraft merged Merged Rust plugin refactor for latest rustup. Removed deprecated flags, added command qualifiers, established shared rustup/cargo directory, and standardized config. Approved and passed CI.
76%
#560 rust_plugin: multiple fixes craft-parts merged Merged Rust plugin fixes resolving issue #559. Changes remove unnecessary rust_channel override typing checks and improve compiler plugin identification and removal. Approved by reviewers and merged despite an unrelated CI pylint failure.
75%
#2438 rust plugin: new link for rustup snapcraft merged Merged into master after approval and passing CI. Updated the rust plugin to use a new rustup link, addressing LP #1662960. Modified 3 files with 11 additions and 6 deletions.
72%
#579 Add new plugin: rust snapcraft merged Merged after resolving conflicts, squashing commits, and fixing test failures. A firewall exception was requested to allow autopkgtests to download rustup.sh. The Rust plugin was successfully integrated.
71%
#3061 plugins: introduce v2.RustPlugin snapcraft merged Merged introduction of v2.RustPlugin to the plugins module. Approved by one reviewer. Updated 26 files with 275 additions and 76 deletions, successfully integrating the new Rust plugin version into the codebase.
71%
#2538 rust plugin: fix usage of rust-channel snapcraft merged Merged PR #2538 fixes the Rust plugin by replacing the deprecated rustup.sh channel argument with rustup toolchain setup. Approved, passed CI, and merged to master.
71%
#570 rust_plugin: multiple fixes (#560) craft-parts merged Merged as #560. The rust_plugin was updated to remove compiler plugins from final Snap packages and eliminate a redundant channel override causing type-checking errors. Approved by one reviewer and passed CI checks.
71%
#2158 rust plugin: fix cargo builds and run tests snapcraft closed Changes to fix cargo builds and add tests to the Rust plugin were closed and superseded by PR #2170 after the author discovered cargo test conflicts with cross-compilation, requiring a rework.
71%