name: Rust
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
env:
CARGO_TERM_COLOR: always
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check compilation
run: cargo check --all-targets --verbose
- name: Run tests
run: cargo test --verbose
- name: Build documentation
run: cargo doc --no-deps
- name: Build examples
run: cargo build --examples --verbose
- name: Run examples
run: |
cargo run --example basic
cargo run --example file
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Clippy
run: rustup component add clippy
- name: Run Clippy
run: cargo clippy --all-targets -- -D warnings
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install rustfmt
run: rustup component add rustfmt
- name: Check formatting
run: cargo fmt --all -- --check