[Wishlist] Workspace build management


#1

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.ymls) in various multi-crate repositories:

  • Run Rustfmt
  • Run clippy
  • Run code coverage (I tend to see kcov used, but I’m looking forward to gcov 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.