mirror of
https://github.com/saymrwulf/betrusted-curve25519-dalek-source.git
synced 2026-09-04 20:24:07 +00:00
curve: Fix no_std for fiat backend and add test for it (#572)
This commit is contained in:
parent
c8d1d400f1
commit
5c5a32057c
4 changed files with 55 additions and 38 deletions
33
.github/workflows/curve25519-dalek.yml
vendored
33
.github/workflows/curve25519-dalek.yml
vendored
|
|
@ -3,10 +3,14 @@ name: curve25519 Rust
|
|||
on:
|
||||
push:
|
||||
branches: [ '**' ]
|
||||
paths: 'curve25519-dalek/**'
|
||||
paths:
|
||||
- 'curve25519-dalek/**'
|
||||
- '.github/workflows/curve25519-dalek.yml'
|
||||
pull_request:
|
||||
branches: [ '**' ]
|
||||
paths: 'curve25519-dalek/**'
|
||||
paths:
|
||||
- 'curve25519-dalek/**'
|
||||
- '.github/workflows/curve25519-dalek.yml'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
|
|
@ -39,6 +43,31 @@ jobs:
|
|||
RUSTFLAGS: '--cfg curve25519_dalek_backend="fiat"'
|
||||
run: cargo test --target ${{ matrix.target }}
|
||||
|
||||
# Default no_std test only tests using serial across all crates
|
||||
build-nostd-fiat:
|
||||
name: Build fiat on no_std target (thumbv7em-none-eabi)
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- crate: curve25519-dalek
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
toolchain: stable
|
||||
targets: thumbv7em-none-eabi
|
||||
- uses: taiki-e/install-action@cargo-hack
|
||||
# No default features build
|
||||
- name: no_std fiat / no feat ${{ matrix.crate }}
|
||||
env:
|
||||
RUSTFLAGS: '--cfg curve25519_dalek_backend="fiat"'
|
||||
run: cargo build -p ${{ matrix.crate }} --target thumbv7em-none-eabi --release --no-default-features
|
||||
- name: no_std fiat / cargo hack ${{ matrix.crate }}
|
||||
env:
|
||||
RUSTFLAGS: '--cfg curve25519_dalek_backend="fiat"'
|
||||
run: cargo hack build -p ${{ matrix.crate }} --target thumbv7em-none-eabi --release --each-feature --exclude-features default,std,getrandom
|
||||
|
||||
test-serial:
|
||||
name: Test serial backend
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
|||
35
.github/workflows/no_std.yml
vendored
35
.github/workflows/no_std.yml
vendored
|
|
@ -1,35 +0,0 @@
|
|||
name: no_std
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ '**' ]
|
||||
pull_request:
|
||||
branches: [ '**' ]
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
RUSTFLAGS: '-D warnings'
|
||||
|
||||
jobs:
|
||||
|
||||
build-nostd:
|
||||
name: Build on no_std target (thumbv7em-none-eabi)
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- crate: curve25519-dalek
|
||||
- crate: ed25519-dalek
|
||||
- crate: x25519-dalek
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
toolchain: stable
|
||||
targets: thumbv7em-none-eabi
|
||||
- uses: taiki-e/install-action@cargo-hack
|
||||
# No default features build
|
||||
- name: no_std / no feat ${{ matrix.crate }}
|
||||
run: cargo build -p ${{ matrix.crate }} --target thumbv7em-none-eabi --release --no-default-features
|
||||
- name: no_std / cargo hack ${{ matrix.crate }}
|
||||
run: cargo hack build -p ${{ matrix.crate }} --target thumbv7em-none-eabi --release --each-feature --exclude-features default,std,getrandom
|
||||
23
.github/workflows/workspace.yml
vendored
23
.github/workflows/workspace.yml
vendored
|
|
@ -57,6 +57,29 @@ jobs:
|
|||
- name: Build default (host native) bench
|
||||
run: cargo build --benches
|
||||
|
||||
# Test no_std with serial (default)
|
||||
build-nostd-serial:
|
||||
name: Build serial on no_std target (thumbv7em-none-eabi)
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- crate: curve25519-dalek
|
||||
- crate: ed25519-dalek
|
||||
- crate: x25519-dalek
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
toolchain: stable
|
||||
targets: thumbv7em-none-eabi
|
||||
- uses: taiki-e/install-action@cargo-hack
|
||||
# No default features build
|
||||
- name: no_std / no feat ${{ matrix.crate }}
|
||||
run: cargo build -p ${{ matrix.crate }} --target thumbv7em-none-eabi --release --no-default-features
|
||||
- name: no_std / cargo hack ${{ matrix.crate }}
|
||||
run: cargo hack build -p ${{ matrix.crate }} --target thumbv7em-none-eabi --release --each-feature --exclude-features default,std,getrandom
|
||||
|
||||
clippy:
|
||||
name: Check that clippy is happy
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ zeroize = { version = "1", default-features = false, optional = true }
|
|||
cpufeatures = "0.2.6"
|
||||
|
||||
[target.'cfg(curve25519_dalek_backend = "fiat")'.dependencies]
|
||||
fiat-crypto = "0.1.19"
|
||||
fiat-crypto = { version = "0.1.19", default-features = false }
|
||||
|
||||
[features]
|
||||
default = ["alloc", "precomputed-tables", "zeroize"]
|
||||
|
|
|
|||
Loading…
Reference in a new issue