Skip to content
New issue

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

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

Already on GitHub? # 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

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

No branches or pull requests

2 participants