name: CI
on:
push:
pull_request:
jobs:
rust:
name: Rust
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust stable
run: |
rustup toolchain install stable --profile minimal --component rustfmt --component clippy
rustup default stable
- name: Format
run: cargo fmt --all -- --check
- name: Check
run: cargo check --workspace --all-targets
- name: Clippy
run: cargo clippy --workspace --all-targets -- -D warnings
- name: Test
run: cargo test --workspace
- name: Macro crate tests
run: cargo test --manifest-path crates/xdoc-macros/Cargo.toml
- name: Macro crate clippy
run: cargo clippy --manifest-path crates/xdoc-macros/Cargo.toml --all-targets -- -D warnings