crate-ci / azure-pipelines

Easy continuous integration for Rust projects with Azure Pipelines
MIT License
88 stars 24 forks source link

Add minrust: false #27

Closed jonhoo closed 5 years ago

jonhoo commented 5 years ago

This also moves the MSRV check out into its own stage since it's not really part of the test stage.

Note that this change still leaves the default minimum Rust version as 1.32.0.

Fixes #20.

epage commented 5 years ago

Note that this change still leaves the default minimum Rust version as 1.32.0.

Should we change the default? I'm assuming changing it to false would be relatively safe, from the client's perspective while setting to 1.32 will just get stale very quickyl.

jonhoo commented 5 years ago

Should we change the default?

I'm honestly not sure. My personal preference is to try to push the ecosystem towards caring about MSRV, and a great way to do that is to have it be on by default. My guess would also be that 1.32.0 will actually remain a fine MSRV for a long time (that's why it was chosen -- it has 2018 edition + uniform paths). Most projects do not use bleeding-edge features. There might be an argument for bumping it around async/await time though.

My concern with defaulting it to false is that most projects won't even know it's there, and will simply not check for MSRV.

epage commented 5 years ago

So the thought is to occasionally bump the default MSRV?

codecov-io commented 5 years ago

Codecov Report

Merging #27 into master will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@          Coverage Diff          @@
##           master    #27   +/-   ##
=====================================
  Coverage     100%   100%           
=====================================
  Files           1      1           
  Lines           2      2           
=====================================
  Hits            2      2

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 93c945c...7c776ba. Read the comment docs.

jonhoo commented 5 years ago

@epage my (unpolished) thinking is this: https://github.com/crate-ci/azure-pipelines#minimum-rust-version. Basically, this repository will bump MSRV "slowly but surely", including a guarantee about how many versions back are supported, similar to the guarantees that big libraries like tokio give. If users want a more conservative or aggressive policy, or don't want to test MSRV at all, they can do so by overriding the version themselves. That way we get a "good for the ecosystem" default, but still retain choice for projects that have other preferences.

epage commented 5 years ago

Sounds good.