name: "Rust CI"
on:
workflow_dispatch:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
jobs:
check_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- name: Run cargo check
run: cargo check --verbose --all-targets --all-features
- name: Run cargo test
run: cargo test --verbose --all-targets --all-features
cargo_deny:
runs-on: ubuntu-latest
strategy:
matrix:
checks:
- advisories
- bans licenses sources
continue-on-error: ${{ matrix.checks == 'advisories' }} steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- name: Run cargo deny
uses: EmbarkStudios/cargo-deny-action@v1
with:
command: check ${{ matrix.checks }}
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run cargo clippy
run: cargo clippy --all-targets --all-features
- name: Run cargo fmt
run: cargo fmt --all -- --check