name: CI
on:
pull_request:
push:
branches: [main]
env:
RUST_BACKTRACE: 1
CARGO_TERM_COLOR: always
jobs:
check:
name: Format, lint, test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install nightly rustfmt
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly
components: rustfmt
cache: false
- name: Install stable toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
components: clippy
rustflags: ""
- name: Install cargo-sort and cargo-nextest
uses: taiki-e/install-action@v2
with:
tool: cargo-sort,cargo-nextest
- run: cargo +nightly fmt --all -- --check
- run: cargo sort --workspace --grouped --check
- run: cargo clippy --all --all-features -- -D warnings
- run: cargo nextest run --all-features
- run: cargo test --doc --all-features
semver:
name: Semver checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions-rust-lang/setup-rust-toolchain@v1
- uses: obi1kenobi/cargo-semver-checks-action@v2