name: CI
on:
pull_request:
push:
branches:
- main
env:
RUSTFLAGS: "-Dwarnings"
jobs:
rustfmt:
name: "Format"
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Nightly Toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
components: rustfmt
- name: Run Cargo Fmt
uses: mbrobbel/rustfmt-check@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
clippy:
name: "Clippy"
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Nightly Toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
components: clippy
- name: Run Cargo Clippy
run: cargo clippy --all-features --all-targets
test:
name: "Test"
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Nightly Toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- name: Run Cargo Test
run: cargo test --verbose --workspace --all-features --all-targets
test_docs:
name: "Test Docs"
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Nightly Toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- name: Run Cargo Test
run: cargo test --verbose --workspace --all-features --doc
doc:
name: "Build Docs"
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Nightly Toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- name: Run Cargo Doc
run: cargo doc --workspace --all-features --no-deps