156 lines
5.2 KiB
YAML
156 lines
5.2 KiB
YAML
name: Rust
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install latest stable
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
components: clippy
|
|
- name: check nostd
|
|
run: cargo check --no-default-features
|
|
- name: test nostd
|
|
run: cargo test --no-default-features
|
|
- name: check constrandom
|
|
run: cargo check --no-default-features --features compile-time-rng
|
|
- name: test constrandom
|
|
run: cargo test --no-default-features --features compile-time-rng
|
|
- name: check fixed-seed
|
|
run: cargo check --no-default-features --features std
|
|
- name: check
|
|
run: cargo check
|
|
- name: test
|
|
run: cargo test
|
|
nightly:
|
|
name: nightly
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
RUSTFLAGS: -C target-cpu=native
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install latest nightly
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: nightly
|
|
components: clippy
|
|
- name: check nightly
|
|
run: cargo check -Z msrv-policy
|
|
- name: test nightly
|
|
run: cargo test
|
|
- name: check serde
|
|
run: cargo check --features serde
|
|
- name: test serde
|
|
run: cargo test --features serde
|
|
linux_arm7:
|
|
name: Linux ARMv7
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
targets: armv7-unknown-linux-gnueabihf
|
|
- run: cargo check --target armv7-unknown-linux-gnueabihf
|
|
- name: Install 1.72.0
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: 1.72.0
|
|
targets: armv7-unknown-linux-gnueabihf
|
|
- run: cargo +1.72.0 check --target armv7-unknown-linux-gnueabihf
|
|
aarch64-apple-darwin:
|
|
name: Aarch64 Apple Darwin
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
targets: aarch64-apple-darwin
|
|
- run: cargo check --target aarch64-apple-darwin
|
|
- run: cargo test
|
|
- run: cargo test --no-default-features --features compile-time-rng
|
|
- name: Install 1.72.0
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: 1.72.0
|
|
targets: aarch64-apple-darwin
|
|
- run: cargo +1.72.0 check --target aarch64-apple-darwin
|
|
i686-unknown-linux-gnu:
|
|
name: Linux i686
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
targets: i686-unknown-linux-gnu
|
|
- name: Install cross compile tools
|
|
run: sudo apt-get install -y gcc-multilib libc6-i386 libc6-dev-i386
|
|
- run: cargo check --target i686-unknown-linux-gnu
|
|
- run: cargo test --target i686-unknown-linux-gnu
|
|
- name: check constrandom
|
|
run: cargo check --no-default-features --features compile-time-rng --target i686-unknown-linux-gnu
|
|
- name: Install 1.72.0
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: 1.72.0
|
|
targets: i686-unknown-linux-gnu
|
|
- run: cargo +1.72.0 check --target i686-unknown-linux-gnu
|
|
- name: check constrandom
|
|
run: cargo +1.72.0 check --no-default-features --features compile-time-rng --target i686-unknown-linux-gnu
|
|
x86_64-unknown-linux-gnu:
|
|
name: Linux x86_64
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
RUSTFLAGS: -C target-cpu=skylake -C target-feature=+aes
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: nightly
|
|
targets: x86_64-unknown-linux-gnu
|
|
- run: cargo check --target x86_64-unknown-linux-gnu
|
|
- run: cargo test --target x86_64-unknown-linux-gnu
|
|
- name: check constrandom
|
|
run: cargo check --no-default-features --features compile-time-rng --target x86_64-unknown-linux-gnu
|
|
- name: Install 1.72.0
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: 1.72.0
|
|
- run: cargo +1.72.0 check --target x86_64-unknown-linux-gnu
|
|
- name: check constrandom
|
|
run: cargo +1.72.0 check --no-default-features --features compile-time-rng --target x86_64-unknown-linux-gnu
|
|
thumbv6m:
|
|
name: thumbv6m
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
targets: thumbv6m-none-eabi
|
|
- run: cargo check --target thumbv6m-none-eabi --no-default-features
|
|
wasm32-unknown-unknown:
|
|
name: wasm
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
targets: wasm32-unknown-unknown
|
|
- run: cargo check --target wasm32-unknown-unknown --no-default-features
|
|
no_std:
|
|
name: no-std build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: nightly
|
|
- run: cargo build --manifest-path=no_std_test/Cargo.toml |