cossacklabs / themis

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
https://www.cossacklabs.com/themis
Apache License 2.0
1.85k stars 143 forks source link

Fix benchmarks build #995

Closed iamnotacake closed 1 year ago

iamnotacake commented 1 year ago

One of dev dependencies pulls rayon 1.7.0, and its dependency rayon-core 1.11.0 now requires rust 1.59+

Freeze rayon so it will pull a bit older rayon-core

See failed job for the cause of this PR

Checklist

ilammy commented 1 year ago

I don't think this fixes the issue. RustThemis CI jobs didn't run here, but I'm thinking they won't pass.

rust-version in Cargo.toml only instructs Cargo to fail compilation earlier instead of when reaching the dependency. It does not make the new version auto-install or anything like that.

The linked job fails because one of the transitive dependencies requires Rust 1.59 now. I see three ways around it:

  1. Bump our MSRV to 1.59, don't bother.
  2. Pin that rayon/rayon-core dependency to an older version in Cargo.toml of benchmarks. Unpin when we bump MSRV.
  3. Kick the benchmarks out of the top-level workspace, test them separately with only stable Rust.
Lagovas commented 1 year ago

so, lets pin version of the dependency? can we do it, @iamnotacake ?