rust-lang / rust-lang/cargo

Expand "CI best practicies" section to the guide

Open
#5,656 22 comments 9 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-documenting-cargo-itself S-triage
Dominant language
Rust
Stars
15.5k
Forks
3k
Avg merge
23h 30m
Merged PRs (30d)
51

Description

Things to talk about:

  • what directories should be cached (probably ~/.cargo, ./target, but keep ~/.cargo/credentials in mind)
  • Rust channels (testing on current stable, beta and the oldest supported rustc)
  • using --minimal-versions to verify dependencies in Cargo.toml
  • setting-up rustfmt/clippy
  • examples for popular CI services like GitHub Actions (#7664)
  • examples of other actions, like documentation generation, publishing to crates.io, publishing binaries (like GitHub releases), doing more advanced testing, etc. (#7665)

Ideally, the section should contain copy-pastable config files for various CI providers.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the guide's existing CI best practices section and review the listed topics, including caching, Rust channels, minimal versions, rustfmt, clippy, and CI provider examples. Use the referenced issues #7664 and #7665 for the GitHub Actions and additional-action examples; the work is done when the guide covers these topics with copy-pastable configurations for various CI providers.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, rust
Domain
ci-cd, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.