softbuffer icon indicating copy to clipboard operation
softbuffer copied to clipboard

CI: Generate `minimal-versions` when build-testing MSRV

Open MarijnS95 opened this issue 10 months ago • 1 comments

For https://github.com/rust-windowing/softbuffer/pull/259#discussion_r1932897555, CC @madsmtm. Not sure if we want to push ahead with this or first fix all our transitive dependencies... Lots of pain here.

Lots of crates bump their MSRV in simple semver releases, causing us to constantly have to hold back "transitive" dependencies when testing our own MSRV. The opposite way of doing this is by immediately selecting the minimum compatible version per Cargo.toml semver selection using -Zminimal-versions, with the added benefit of validating our minimal dependency constraints in CI.

Unfortunately, even more crates than that don't validate their minimum version dependencies (barring minor improvements for "new" targets), resulting in many compilation failures and many transitive dependencies needing manual update. Strangely, in for example the image crate a newer num-traits 0.2.14 is being used but num-bigint 0.4.0 fails to compile.

MarijnS95 avatar Feb 05 '25 14:02 MarijnS95

or first fix all our transitive dependencies... Lots of pain here.

Are you aware of -Zdirect-minimal-versions? It selects minimal versions only for your workspace’s direct dependencies, and normal maximal versions for all others. Thus while it doesn't strictly test every case you might care about, it won’t fail due to something out of your control.

kpreid avatar Feb 05 '25 22:02 kpreid