← Back to issue list

rust plugin: add rustup profile

View original Github issue

Metadata

Project
snapcraft
Number
#2767
Type
pull request
State
merged
Author
dalance
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #2767 (commit 58b58527c) as "rust plugin: set rustup profile to minimal". The original conditional _get_rustup_profile idea was simplified during review to unconditionally use rustup's minimal profile, fixing build.snapcraft.io failures.

Resolution: closed resolved

Reason: The PR was approved and merged as commit 58b58527c, titled "rust plugin: set rustup profile to minimal (#2767)". At maintainer request (cjp256) the author changed the initial conditional profile logic to always set rustup's minimal profile and fixed the affected strings in tests/unit/plugins/test_rust.py, resolving the "components unavailable for download for channel stable: 'clippy', 'rustfmt'" build error.

Evaluated by: mr-cal-bot

No scores available.

Issue body

On some environment, some components can't be downloaded by rustup. It causes the following error on build.snapcraft.io: error: some components unavailable for download for channel stable: 'clippy', 'rustfmt' To fix it, I added _get_rustup_profile method to adjust profile. If profile is minimal, 'clippy' and 'rustfmt' will be skipped. - [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] Have you successfully run `./runtests.sh static`? - [ ] Have you successfully run `./runtests.sh tests/unit`? -----

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #2767 (commit 58b58527c) as "rust plugin: set rustup profile to minimal". The original conditional _get_rustup_profile idea was simplified during review to unconditionally use rustup's minimal profile, fixing build.snapcraft.io failures.
stealth/space-bunny-alpha — closed resolved Merged as #2767 (commit 58b58527c): the Rust plugin now uses rustup’s minimal profile, avoiding unavailable clippy and rustfmt components.
qwen/qwen3.6-35b-a3b — — Merged. Updates the Rust plugin to enforce the minimal rustup profile, resolving build failures where clippy and rustfmt are unavailable. The implementation applies the minimal profile universally and includes updated unit tests.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Configured the Rust plugin to use the minimal rustup profile, resolving CI build failures where clippy and rustfmt were unavailable. Updated unit tests accordingly.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft#2849 (confidence 80%)

    Maintainer flagged this as a related PR to split out: 'rust plugin: split RUSTUP_HOME and CARGO_HOME' (commit 0b2fdb72b). protometa reported the same rustup component error was also triggered by the plugin setting RUSTUP_HOME to ~/.cargo instead of ~/.rustup, so the minimal profile alone was not the whole cause.

Related issues

Issue Project State Summary Similarity
#2434 rust plugin: refactor to use the latest rustup snapcraft merged Merged PR #2434 in commit 3e821ca8d, updating the Rust plugin for current rustup, sharing toolchain storage, and adopting .cargo/config.
74%
#1467 rust plugin: new rustup snapcraft closed Updated the Rust plugin’s outdated rustup download link via merged PR #2438 (commit ea6caa72b), resolving LP bug #1662960.
72%
#2431 rust plugin: update to use latest rustup command options snapcraft merged Merged PR #2431 updated the Rust plugin to use current rustup options instead of deprecated commands; landed as commit 3e821ca8d.
71%
#579 Add new plugin: rust snapcraft merged Merged PR #579 as commit 24f1def33, adding Snapcraft's Rust plugin, resolving conflicts, and updating plugin-list test expectations.
70%