name: CI
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cargo Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Format
run: cargo fmt --all --verbose -- --check
- name: Lint all features
run: cargo clippy --workspace --all-features --verbose -- -D warnings
- name: Lint no features
run: cargo clippy --workspace --no-default-features --verbose -- -D warnings
- name: Test all features
run: cargo test --workspace --all-features --verbose
- name: Test no features
run: cargo test --workspace --no-default-features --verbose
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cargo Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build all features
run: cargo build --workspace --all-features --verbose
- name: Build no features
run: cargo build --workspace --no-default-features --verbose