on:
push:
branches:
- "main"
pull_request:
types: [opened, synchronize]
name: Rust
env:
RUSTFLAGS: -D warnings
RUSTDOCFLAGS: -D warnings
jobs:
rust-check:
name: Rust
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rust-docs, clippy, rustfmt
toolchain: 1.92.0
- name: Rustfmt
run: cargo fmt --all -- --check
- name: check --all-features
run: cargo check --all-features --all-targets
- name: check default features
run: cargo check --all-targets
- name: check --no-default-features
run: cargo check --no-default-features --all-targets
- name: Test doc-tests
run: cargo test --doc --all-features
- name: cargo doc --lib
run: cargo doc --lib --no-deps --all-features
- name: cargo doc --document-private-items
run: cargo doc --document-private-items --no-deps --all-features
- name: Build tests
run: cargo build --tests --all-features
- name: Run test
run: cargo test --all-features
- name: Clippy
run: cargo clippy --all-targets --all-features -- -D warnings
check_wasm:
name: Check wasm32
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.92.0
target: wasm32-unknown-unknown
components: clippy,rustfmt
- name: Check wasm32
run: cargo check --target wasm32-unknown-unknown --lib
- name: Clippy wasm32
env:
CLIPPY_CONF_DIR: "scripts/clippy_wasm" run: cargo clippy --target wasm32-unknown-unknown --lib -- -D warnings
cargo-deny:
name: Check Rust dependencies (cargo-deny)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v2
with:
rust-version: "1.92.0"
log-level: warn
command: check