Skip to content

Commit ebcd744

Browse files
authored
CI: add build-nostd job (#482)
We currently don't have any checks that this crate builds on a `no_std` target. While `curve25519-dalek` itself doesn't link `std`, it uses dependencies which could potentially link `std`, so it's important to have a job to check that the crate builds on a `no_std` target to ensure feature activation doesn't accidentally flip on the `std` feature of one of those dependencies unintentionally. This adds a job which checks the crate builds on a `thumbv7em-none-eabi` target which has no `std` implementation.
1 parent 7227c6f commit ebcd744

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

.github/workflows/rust.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,19 @@ jobs:
3636
RUSTFLAGS: '--cfg curve25519_dalek_backend="fiat"'
3737
run: cargo test --target ${{ matrix.target }}
3838

39+
build-nostd:
40+
name: Build on no_std target (thumbv7em-none-eabi)
41+
runs-on: ubuntu-latest
42+
steps:
43+
- uses: actions/checkout@v3
44+
- uses: dtolnay/rust-toolchain@master
45+
with:
46+
toolchain: stable
47+
targets: thumbv7em-none-eabi
48+
- run: cargo build --target thumbv7em-none-eabi --release --no-default-features
49+
- run: cargo build --target thumbv7em-none-eabi --release
50+
- run: cargo build --target thumbv7em-none-eabi --release --features serde
51+
3952
build-simd:
4053
name: Build simd backend (nightly)
4154
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)