feat(workflow): Fix where there is encryption feature and ensure run … #45
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
name: Rust | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build_ubuntu: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build | |
run: cargo build | |
- name: Build with all features | |
run: cargo build --no-default-features --features chacha | |
- name: Run clippy for `chacha` | |
run: cargo clippy --all-targets --no-default-features --features full_with_chacha -- -D warnings | |
- name: Run clippy for `ascon` | |
run: cargo clippy --all-targets -- -D warnings | |
- name: Run build with `random` feature enabled | |
run: cargo build --no-default-features --features random --verbose | |
- name: Run build with `clonable_mem` feature enabled | |
run: cargo build --no-default-features --features clonable_mem --verbose | |
- name: Run build with `encryption` and `ascon` feature enabled | |
run: cargo build --no-default-features --features "encryption ascon" --verbose | |
- name: Run build with `encryption` and `chacha` feature enabled | |
run: cargo build --no-default-features --features "encryption chacha" --verbose | |
- name: Run build with `symm_asymm` feature enabled | |
run: cargo build --no-default-features --features symm_asymm --verbose | |
- name: Run build with `full` feature enabled | |
run: cargo build --no-default-features --features full --verbose | |
- name: Run tests with `ascon` feature | |
run: cargo test --verbose | |
- name: Run tests with `chacha` feature | |
run: cargo test --no-default-features --features chacha --verbose | |
- name: Install cargo-deny | |
run: cargo install cargo-deny | |
- name: Check licenses are correct | |
run: cargo deny check licenses | |
- name: Run `simple.rs` example with default features | |
run: cargo run --example simple | |
build_windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build | |
run: cargo build | |
- name: Build with all features | |
run: cargo build --no-default-features --features chacha | |
- name: Run build with `random` feature enabled | |
run: cargo build --no-default-features --features random --verbose | |
- name: Run build with `clonable_mem` feature enabled | |
run: cargo build --no-default-features --features clonable_mem --verbose | |
- name: Run build with `encryption` and `ascon` feature enabled | |
run: cargo build --no-default-features --features "encryption ascon" --verbose | |
- name: Run build with `encryption` and `chacha` feature enabled | |
run: cargo build --no-default-features --features "encryption chacha" --verbose | |
- name: Run build with `symm_asymm` feature enabled | |
run: cargo build --no-default-features --features symm_asymm --verbose | |
- name: Run build with `full` feature enabled | |
run: cargo build --no-default-features --features full --verbose | |
- name: Run tests with `ascon` feature | |
run: cargo test --verbose | |
- name: Run tests with `chacha` feature | |
run: cargo test --no-default-features --features chacha --verbose | |
- name: Install cargo-deny | |
run: cargo install cargo-deny | |
- name: Check licenses are correct | |
run: cargo deny check licenses | |
- name: Run `simple.rs` example with default features | |
run: cargo run --example simple | |
build_macos: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build | |
run: cargo build | |
- name: Build with all features | |
run: cargo build --no-default-features --features chacha | |
- name: Run build with `random` feature enabled | |
run: cargo build --no-default-features --features random --verbose | |
- name: Run build with `clonable_mem` feature enabled | |
run: cargo build --no-default-features --features clonable_mem --verbose | |
- name: Run build with `encryption` and `ascon` feature enabled | |
run: cargo build --no-default-features --features "encryption ascon" --verbose | |
- name: Run build with `encryption` and `chacha` feature enabled | |
run: cargo build --no-default-features --features "encryption chacha" --verbose | |
- name: Run build with `symm_asymm` feature enabled | |
run: cargo build --no-default-features --features symm_asymm --verbose | |
- name: Run build with `full` feature enabled | |
run: cargo build --no-default-features --features full --verbose | |
- name: Run tests with `ascon` feature | |
run: cargo test --verbose | |
- name: Run tests with `chacha` feature | |
run: cargo test --no-default-features --features chacha --verbose | |
- name: Install cargo-deny | |
run: cargo install cargo-deny | |
- name: Check licenses are correct | |
run: cargo deny check licenses | |
- name: Run `simple.rs` example with default features | |
run: cargo run --example simple |