dalek-cryptography / curve25519-dalek

A pure-Rust implementation of group operations on Ristretto and Curve25519
Other
885 stars 449 forks source link

curve: Fix `no_std` for `fiat` backend and add test for it #572

Closed pinkforest closed 1 year ago

pinkforest commented 1 year ago

Fiat backend required std as we didn't call it with default-features - false - I've changed it here.

We only test the serial (default) backend in no_std that gets tested changes on any crates

This adds fiat backend specific no_std test when there is/are changes on curve25519-dalek in addition.

Given https://github.com/mit-plv/fiat-crypto/pull/1646 it may be feasible to fiat is tested as well

This should be merged and re-based into the fiat-backend 0.2 bump after this has been tested with 0.1 via this PR

tarcieri commented 1 year ago

Suddenly I'm confused why there's both a no_std.yml workflow file and no_std jobs within curve25519-dalek.yml

pinkforest commented 1 year ago

Yeah no_std.yml gets applied to whole workspace and curve25519-dalek.yml only to curve25519 changes -

Maybe we can rename the no_std.yml to workspace-no_std.yml regardless ?

Or just merge no_std.yml into workspace.yml - EDIT: Done

I thought fiat no_std needs to be only tested when curve25519-dalek has changes - serial gets tested always in any case

Do we want to test both fiat and serial (default) in no_std context across all crates ?