Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to configure features passed to minimal-versions #15

Open
tarcieri opened this issue Mar 29, 2022 · 4 comments
Open

Ability to configure features passed to minimal-versions #15

tarcieri opened this issue Mar 29, 2022 · 4 comments

Comments

@tarcieri
Copy link
Member

The minimal-versions shared workflow presently doesn't provide a way to pass the --exclude-features parameter to cargo hack.

This is problematic when using a 3rd party dependency which isn't minimal-versions-clean itself. In particular I'm experiencing this with ed25519-dalek:

https://github.com/RustCrypto/formats/runs/5739309796?check_suite_focus=true

It would be nice to opt out of minimal-versions in these cases by excluding the features from the workflow. While a "proper" fix is making the upstream dependency minimal-versions clean, it would be nice in the interim to still have the check work without having to list out the relevant dependencies in dev-dependencies.

@newpavlov
Copy link
Member

In that particular case you could use a temporary workaround of adding min-versions-correct zeroize/zeroize-derive as an explicit dependency of ssh-key. I've used a similar workaround in the rsa crate.

@tarcieri
Copy link
Member Author

Here's another example of where it would be handy: RustCrypto/sponges#13

Well, either that, or being able to pin the nightly version.

@newpavlov
Copy link
Member

Yeah, passing compiler version could be useful with default being Nightly (or version in which -Z minimal-versions will be stabilized).

@tarcieri tarcieri changed the title Ability to pass exclude-features to minimal-versions Ability to configure features passed to minimal-versions Oct 29, 2022
@tarcieri
Copy link
Member Author

Another problem related to features passed to minimal-versions:

RustCrypto/nacl-compat#38

This PR needs the ability to specify mandatory features as well as excluded features. Namely we need to pass the u64_backend feature, and exclude the u32_backend feature.

It'd be good to get the root problem here, the way curve25519-dalek does backend selection, fixed upstream:

dalek-cryptography/curve25519-dalek#414

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants