name: Rust CI checks
on:
push:
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
lint:
name: Run lint checks
runs-on: ubuntu-latest
strategy:
matrix:
feature:
- actix4,warp,axum
- actix3
steps:
- uses: actions/checkout@v2
- name: Install Rust stable toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt, clippy
- name: Run formatting
run: cargo fmt --all --check
- name: Run Clippy
run: cargo clippy --all-targets -F "${{ matrix.feature }}" -- -D warnings
test:
name: Run tests
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- 1.85.0
feature:
- ""
- actix4
- actix3
- warp
- axum
- indexmap
exclude:
- rust: 1.85.0
feature: axum
- rust: 1.85.0
feature: actix4
- rust: 1.85.0
feature: actix3
- rust: 1.85.0
feature: warp
steps:
- uses: actions/checkout@v4
- name: Install Rust stable toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
- name: Run test ${{ matrix.feature }}
run: |
cargo test --all-targets --features "${{ matrix.feature }}"
cargo test --doc --features "${{ matrix.feature }}"