name: CI
on:
pull_request:
push:
branches: [main]
jobs:
rustfmt:
name: rustfmt
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: install rust
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: rustfmt check
run: cargo fmt --check
clippy:
name: clippy
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: install rust
uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- name: clippy check
run: |
cargo clippy --no-deps --all-targets -- -D warnings
cargo clippy --no-deps --all-targets --features=serde -- -D warnings
docs:
name: docs
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: install rust
uses: dtolnay/rust-toolchain@stable
- name: docs check
run: |
cargo doc --no-deps
cargo doc --no-deps --features=serde
test:
name: test
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: install rust
uses: dtolnay/rust-toolchain@stable
- name: run tests
run: |
cargo test
cargo test --features=serde