-
Notifications
You must be signed in to change notification settings - Fork 464
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
40d5b7e
commit 6f5281d
Showing
7 changed files
with
241 additions
and
352 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
name: Cross | ||
|
||
on: | ||
push: | ||
branches: [ '**' ] | ||
pull_request: | ||
branches: [ '**' ] | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
RUSTFLAGS: '-D warnings' | ||
|
||
jobs: | ||
|
||
test-cross: | ||
name: Test | ||
strategy: | ||
matrix: | ||
include: | ||
# ARM32 | ||
- target: armv7-unknown-linux-gnueabihf | ||
rust: stable | ||
|
||
# ARM64 | ||
- target: aarch64-unknown-linux-gnu | ||
rust: stable | ||
|
||
# PPC32 | ||
- target: powerpc-unknown-linux-gnu | ||
rust: stable | ||
|
||
# TODO: We only test x/ed/curve for cross as derive is platform specifics | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- run: ${{ matrix.deps }} | ||
- uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: ${{ matrix.rust }} | ||
targets: ${{ matrix.target }} | ||
- uses: RustCrypto/actions/cross-install@master | ||
- run: cross test -p curve25519-dalek --release --target ${{ matrix.target }} | ||
- run: cross test -p ed25519-dalek --release --target ${{ matrix.target }} | ||
- run: cross test -p x25519-dalek --release --target ${{ matrix.target }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
name: curve25519 Rust | ||
|
||
on: | ||
push: | ||
branches: [ '**' ] | ||
paths: 'curve25519-dalek/**' | ||
pull_request: | ||
branches: [ '**' ] | ||
paths: 'curve25519-dalek/**' | ||
|
||
defaults: | ||
run: | ||
working-directory: curve25519-dalek | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
RUSTFLAGS: '-D warnings' | ||
|
||
jobs: | ||
|
||
test-fiat: | ||
name: Test fiat backend | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
include: | ||
# 32-bit target | ||
- target: i686-unknown-linux-gnu | ||
deps: sudo apt update && sudo apt install gcc-multilib | ||
|
||
# 64-bit target | ||
- target: x86_64-unknown-linux-gnu | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@stable | ||
- run: rustup target add ${{ matrix.target }} | ||
- run: ${{ matrix.deps }} | ||
- env: | ||
RUSTFLAGS: '--cfg curve25519_dalek_backend="fiat"' | ||
run: cargo test --target ${{ matrix.target }} | ||
|
||
test-serial: | ||
name: Test serial backend | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
include: | ||
# 32-bit target | ||
- target: i686-unknown-linux-gnu | ||
deps: sudo apt update && sudo apt install gcc-multilib | ||
|
||
# 64-bit target | ||
- target: x86_64-unknown-linux-gnu | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@stable | ||
- run: rustup target add ${{ matrix.target }} | ||
- run: ${{ matrix.deps }} | ||
- env: | ||
RUSTFLAGS: '--cfg curve25519_dalek_backend="serial"' | ||
run: cargo test --target ${{ matrix.target }} | ||
|
||
build-script: | ||
name: Test Build Script | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: stable | ||
targets: wasm32-unknown-unknown,x86_64-unknown-linux-gnu,i686-unknown-linux-gnu | ||
- run: bash tests/build_tests.sh | ||
|
||
test-simd-nightly: | ||
name: Test simd backend (nightly) | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@nightly | ||
- env: | ||
# This will: | ||
# 1) build all of the x86_64 SIMD code, | ||
# 2) run all of the SIMD-specific tests that the test runner supports, | ||
# 3) run all of the normal tests using the best available SIMD backend. | ||
# This should automatically pick up the simd backend in a x84_64 runner | ||
RUSTFLAGS: '-C target_cpu=native' | ||
run: cargo test --target x86_64-unknown-linux-gnu | ||
|
||
test-simd-stable: | ||
name: Test simd backend (stable) | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@stable | ||
- env: | ||
# This will run AVX2-specific tests and run all of the normal tests | ||
# with the AVX2 backend, even if the runner supports AVX512. | ||
# This should automatically pick up the simd backend in a x86_64 runner | ||
# It should pick AVX2 due to stable toolchain used since AVX512 requires nigthly | ||
RUSTFLAGS: '-C target_feature=+avx2' | ||
run: cargo test --no-default-features --features alloc,precomputed-tables,zeroize --target x86_64-unknown-linux-gnu | ||
|
||
msrv: | ||
name: Current MSRV is 1.60.0 | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
# First run `cargo +nightly -Z minimal-verisons check` in order to get a | ||
# Cargo.lock with the oldest possible deps | ||
- uses: dtolnay/rust-toolchain@nightly | ||
- run: cargo -Z minimal-versions check --no-default-features --features serde | ||
# Now check that `cargo build` works with respect to the oldest possible | ||
# deps and the stated MSRV | ||
- uses: dtolnay/[email protected] | ||
- run: cargo build --no-default-features --features serde | ||
# Also make sure the AVX2 build works | ||
- run: cargo build --target x86_64-unknown-linux-gnu | ||
|
||
bench: | ||
name: Check that benchmarks compile | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@stable | ||
- name: Build u32 bench | ||
env: | ||
RUSTFLAGS: '--cfg curve25519_dalek_bits="32"' | ||
run: cargo build --benches | ||
- name: Build u64 bench | ||
env: | ||
RUSTFLAGS: '--cfg curve25519_dalek_bits="64"' | ||
run: cargo build --benches | ||
- name: Build default (host native) bench | ||
run: cargo build --benches |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,58 +1,23 @@ | ||
name: Rust | ||
name: ed25519 Rust | ||
|
||
on: | ||
push: | ||
branches: [ '**' ] | ||
paths: 'ed25519-dalek/**' | ||
pull_request: | ||
branches: [ '**' ] | ||
paths: 'ed25519-dalek/**' | ||
|
||
defaults: | ||
run: | ||
working-directory: ed25519-dalek | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
RUSTFLAGS: '-D warnings' | ||
RUSTDOCFLAGS: '-D warnings' | ||
|
||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
include: | ||
# 32-bit target | ||
- target: i686-unknown-linux-gnu | ||
deps: sudo apt update && sudo apt install gcc-multilib | ||
# 64-bit target | ||
- target: x86_64-unknown-linux-gnu | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@stable | ||
- run: rustup target add ${{ matrix.target }} | ||
- run: ${{ matrix.deps }} | ||
- run: cargo test --target ${{ matrix.target }} --no-default-features --lib --tests | ||
- run: cargo test --target ${{ matrix.target }} --no-default-features --features alloc --lib | ||
- run: cargo test --target ${{ matrix.target }} --no-default-features --features fast --lib | ||
- run: cargo test --target ${{ matrix.target }} --no-default-features --features rand_core --lib --tests | ||
- run: cargo test --target ${{ matrix.target }} --no-default-features --features alloc,rand_core --lib --tests | ||
- run: cargo test --target ${{ matrix.target }} --no-default-features --features fast,rand_core --lib --tests | ||
- run: cargo test --target ${{ matrix.target }} --no-default-features --features alloc,fast,rand_core --lib --tests | ||
- run: cargo test --target ${{ matrix.target }} | ||
- run: cargo test --target ${{ matrix.target }} --features batch | ||
- run: cargo test --target ${{ matrix.target }} --features digest,rand_core | ||
- run: cargo test --target ${{ matrix.target }} --features serde | ||
- run: cargo test --target ${{ matrix.target }} --features pem | ||
- run: cargo test --target ${{ matrix.target }} --all-features | ||
|
||
build-simd: | ||
name: Test simd backend (nightly) | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@nightly | ||
- env: | ||
RUSTFLAGS: '--cfg curve25519_dalek_backend="simd" -C target_feature=+avx2' | ||
run: cargo build --target x86_64-unknown-linux-gnu | ||
- env: | ||
RUSTFLAGS: '--cfg curve25519_dalek_backend="simd" -C target_feature=+avx512ifma' | ||
run: cargo build --target x86_64-unknown-linux-gnu | ||
|
||
msrv: | ||
name: Current MSRV is 1.60.0 | ||
|
@@ -70,53 +35,10 @@ jobs: | |
- uses: dtolnay/[email protected] | ||
- run: cargo build | ||
|
||
build-nostd: | ||
name: Build on no_std target (thumbv7em-none-eabi) | ||
runs-on: ubuntu-latest | ||
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 | ||
- run: cargo build --target thumbv7em-none-eabi --release --no-default-features | ||
- run: cargo hack build --target thumbv7em-none-eabi --release --each-feature --exclude-features default,std | ||
|
||
bench: | ||
name: Check that benchmarks compile | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@stable | ||
- run: cargo build --benches --features batch | ||
|
||
rustfmt: | ||
name: Check formatting | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
components: rustfmt | ||
- run: cargo fmt --all -- --check | ||
|
||
clippy: | ||
name: Check that clippy is happy | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/[email protected] | ||
with: | ||
components: clippy | ||
- run: cargo clippy | ||
|
||
doc: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
- run: cargo doc --all-features |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
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 |
Oops, something went wrong.