mirror of
https://github.com/saymrwulf/curve25519-dalek-source.git
synced 2026-09-04 20:24:10 +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:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ '**' ]
|
branches: [ '**' ]
|
||||||
paths: 'curve25519-dalek/**'
|
paths:
|
||||||
|
- 'curve25519-dalek/**'
|
||||||
|
- '.github/workflows/curve25519-dalek.yml'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ '**' ]
|
branches: [ '**' ]
|
||||||
paths: 'curve25519-dalek/**'
|
paths:
|
||||||
|
- 'curve25519-dalek/**'
|
||||||
|
- '.github/workflows/curve25519-dalek.yml'
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
|
|
@ -39,6 +43,31 @@ jobs:
|
||||||
RUSTFLAGS: '--cfg curve25519_dalek_backend="fiat"'
|
RUSTFLAGS: '--cfg curve25519_dalek_backend="fiat"'
|
||||||
run: cargo test --target ${{ matrix.target }}
|
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:
|
test-serial:
|
||||||
name: Test serial backend
|
name: Test serial backend
|
||||||
runs-on: ubuntu-latest
|
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
|
- name: Build default (host native) bench
|
||||||
run: cargo build --benches
|
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:
|
clippy:
|
||||||
name: Check that clippy is happy
|
name: Check that clippy is happy
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ zeroize = { version = "1", default-features = false, optional = true }
|
||||||
cpufeatures = "0.2.6"
|
cpufeatures = "0.2.6"
|
||||||
|
|
||||||
[target.'cfg(curve25519_dalek_backend = "fiat")'.dependencies]
|
[target.'cfg(curve25519_dalek_backend = "fiat")'.dependencies]
|
||||||
fiat-crypto = "0.1.19"
|
fiat-crypto = { version = "0.1.19", default-features = false }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["alloc", "precomputed-tables", "zeroize"]
|
default = ["alloc", "precomputed-tables", "zeroize"]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue