taiki-e / pin-project

A crate for safe and ergonomic pin-projection.

Home Page:https://docs.rs/pin-project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add master 'ci.sh'

Aaron1011 opened this issue · comments

Currently, pin-project runs several different checks on Azure pipelines, from a standard cargo test to a compiletest-rs test to clippy. It can be very easy to forgot to one run of these locally, or to run one with the incorrect flag (e.g. missing --all).

It would be very helpful if pin-project provided a master ci.sh script to run exactly the same checks done by CI. This would make it easier to test out local changes to pin-project before submitting a PR.

@Aaron1011
Personally, I prefer to open PR as a draft and let CI do those checks but I agree that this is helpful. However, it takes a lot of time to do exactly the same checks that CI does. (FYI: This is a script to run exactly the same checks done by CI.)

So I am thinking of adding the simplified version.

As far as I know, this can detect most cases with the following exceptions.

  • If you already have nightly rust, clippy, and rustfmt installed and it is not up to date. (this can happen even with the full version of ci.sh)
  • If you add a new dependency that does not support -Zminimal-versions.
  • If you use a feature that is not supported by Rust 1.33.

In addition, the following cases will cause an error.

  • If clippy is not available on the latest nightly.
  • If rustfmt is not available on your default toolchain. (this can happen even with the full version of ci.sh)

Any thoughts?