name: Various Checks
permissions:
contents: read
pull-requests: write
on:
push:
branches: [main]
pull_request:
paths-ignore:
- "README.md"
jobs:
ci:
name: CI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Load cargo cache
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Set up Rust toolchain
run: |
rustup set profile minimal
rustup update stable
rustup update nightly
- name: Install tools
uses: taiki-e/install-action@v2
with:
tool: cargo-deny
- name: Run check
run: cargo check --all
- name: Check code format
run: cargo fmt --check
- name: Run clippy
run: cargo clippy -Dwarnings
- name: Check vulnerability
run: cargo deny check advisories