So, cargo test --all
made me very happy; an extension to that is to help enforce best practices in a cargo workspace. The following are things that I find in bash scripts (or travis.yml
s) in various multi-crate repositories:
- Run
Rustfmt
- Run
clippy
- Run code coverage (I tend to see
kcov
used, but I'm looking forward togcov
support). - Retain colour output
I know cargo multi
exists, and it does make life easier, but I like colour output, and also not having to scroll up when something fails (perhaps contribute to that to allow a "fail fast" mode).
And additional to that to make CI life easier:
- Automatic installation of
Rustfmt
(option to install it automatically / prompt) - Automatic installation of
clippy
(reinstall it every time, because clippy must be recompiled across nightlies) - For code coverage, perhaps take in a url to publish to coveralls / codecov
I remember when https://docs.rs/ first appeared, I was pretty excited that "I didn't have to do anything, and now I've got published docs!" That took away one of the setup steps that "we do it for every crate / repository", so I thought I'd list the other boilerplate.
Maybe there's more to that list (e.g. benchmark result publishing), but I haven't ventured that far yet.