name: Rust
on:
push:
branches: [main]
paths:
- "src/**/*.rs"
- "**/Cargo.toml"
- "**/Cargo.lock"
pull_request:
branches: [main]
paths:
- "src/**/*.rs"
- "**/Cargo.toml"
- "**/Cargo.lock"
env:
CARGO_TERM_COLOR: always
jobs:
Check:
name: Build, Check, and test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.5.2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
profile: minimal
components: rustfmt, clippy
- name: Cache
uses: Swatinem/rust-cache@v2.4.0
- name: Clippy
run: cargo clippy --verbose
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose