Reconsider recommending `--profile minimal` for CI (or add CI tools to the minimal profile)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 22h 40m
- Merged PRs (30d)
- 46
Description
Problem you are trying to solve
The official Rust Docker images do not contain clippy and rustfmt. This has been the source of several issues.
As far as I can tell, they haven't been added because the Rust Docker images should only install what is provided by default by rustup (which seems fair). And since rustup recommends the minimal profile for CI, it seems fair that this is the one used by the Rust Docker images (since such Docker images are often used in CI).
However I think this is a bad recommendation. Linting (clippy) and code format verification (rustfmt) are very, very common tasks in CI. Recommending a profile for CI that doesn't have the capacity to lint code or verify its format is bound to eventually lead to problems when users try to do those things (which just happened to me, and probably why there are all those previously mentioned issues in the docker-rust repository).
Solution you'd like
Rustup ought to recommend a profile for CI that includes the capacity to lint and format code. This can be achieved in any number of ways:
- Add rustfmt and clippy to the minimal profile (probably not desirable)
- Recommend the default profile for use in CI.
- Create a new profile specifically tailored to CI that includes rustfmt and clippy.
I don't really care which solution is chosen - the point is that given such a recommendation, I think the clear choice for the Rust Docker images would be to use the image that includes rustfmt and clippy, which would solve the problem as stated above and solve the issues in the docker-rust repository.
Notes
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked rustup profile guidance and the minimal and default profile definitions, then compare them with the official Rust Docker image behavior described in the issue. Done means selecting and implementing a CI recommendation or profile change that provides clippy and rustfmt, with the Docker-image recommendation aligned.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, rust
- Domain
- ci-cd, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100