---
name: Tests
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test:
name: Tests (${{ matrix.features == '' && 'default' || matrix.features }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
features: ["", "k8s", "oci", "s3", "k8s,oci,s3"]
steps:
- uses: actions/checkout@v7
- name: Setup Rust stable
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.92.0
- name: Cache Cargo
uses: Swatinem/rust-cache@v2
- name: cargo test
run: cargo test ${{ matrix.features != '' && format('--no-default-features --features {0}', matrix.features) || '' }}
fmt:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup Rust nightly
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Cache Cargo
uses: Swatinem/rust-cache@v2
- name: cargo fmt --check
run: cargo fmt -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup Rust stable
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.92.0
components: clippy
- name: Cache Cargo
uses: Swatinem/rust-cache@v2
- name: cargo clippy --all-features
run: cargo clippy --all-features -- -D warnings