rust-mobile / ndk

Rust bindings to the Android NDK
Apache License 2.0
1.11k stars 110 forks source link

CI: Only require MSRV-check to succeed with `-Zminimal-versions` #443

Closed MarijnS95 closed 10 months ago

MarijnS95 commented 10 months ago

One of our dependencies recently bumped its rust-version causing our MSRV test to break again. It is undesired to randomly work around this by bumping our MSRV, or consistently have PRs/merges fail for unrelated reasons.

Instead, perform the MSRV-test with -Zminimal-versions. This seems to be generally accepted in the Rust ecosystem (as there is otherwise no way for crates to bump MSRV barring a semver-breaking release) and prevents us from hitting unnecessary MSRV build failures caused by dependencies.

At the same time our minimal version bounds are now exercised, ensuring downstream crates depending on the ndk can build with -Zminimal-versions too - which required specifying a few patch bounds for our dependencies.

Unfortunately GitHub's UI for continue-on-error: true doesn't make it obvious that a step/job really didn't succeed, this is only visible from the annotations. Still, it is relevant to keep track of whether our non-minimal-versions build adheres to MSRV.