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?