Skip to content

ci: use machete to check for unused deps #88

ci: use machete to check for unused deps

ci: use machete to check for unused deps #88

Workflow file for this run

name: Testing
on:
push:
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
format:
name: Formatting
runs-on: ubuntu-latest
steps:
- id: checkout
name: Checkout Repository
uses: actions/checkout@v4
- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
components: rustfmt
- id: cache
name: Enable Workflow Cache
uses: Swatinem/rust-cache@v2
- id: format
name: Run Formatting-Checks
run: cargo fmt --check
check:
name: Static Analysis
runs-on: ubuntu-latest
needs: format
strategy:
matrix:
toolchain: [nightly, stable]
steps:
- id: checkout
name: Checkout Repository
uses: actions/checkout@v4
- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.toolchain }}
components: clippy
- id: cache
name: Enable Workflow Cache
uses: Swatinem/rust-cache@v2
- id: tools
name: Install Tools
uses: taiki-e/install-action@v2
with:
tool: cargo-machete
- id: check
name: Run Build Checks
run: cargo check --tests --benches --examples --workspace --all-targets --all-features
- id: lint
name: Run Lint Checks
run: cargo clippy --tests --benches --examples --workspace --all-targets --all-features
- id: docs
name: Lint Documentation
env:
RUSTDOCFLAGS: "-D warnings"
run: cargo doc --no-deps --bins --examples --workspace --all-features
- id: clean
name: Clean Build Directory
run: cargo clean
- id: deps
name: Check Unused Dependencies
run: cargo machete
unit:
name: Units
runs-on: ubuntu-latest
needs: check
strategy:
matrix:
toolchain: [nightly, stable]
steps:
- id: checkout
name: Checkout Repository
uses: actions/checkout@v4
- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.toolchain }}
components: llvm-tools-preview
- id: cache
name: Enable Job Cache
uses: Swatinem/rust-cache@v2
- id: imdl
name: Install Intermodal
run: cargo install imdl
- id: test-docs
name: Run Documentation Tests
run: cargo test --doc
- id: test
name: Run Unit Tests
run: cargo test --tests --benches --examples --workspace --all-targets --all-features
integration:
name: Integrations
runs-on: ubuntu-latest
needs: check
strategy:
matrix:
toolchain: [nightly, stable]
steps:
- id: checkout
name: Checkout Repository
uses: actions/checkout@v4
- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.toolchain }}
- id: cache
name: Enable Job Cache
uses: Swatinem/rust-cache@v2
- id: test-sqlite
name: Run Integration Tests (SQLite)
run: ./contrib/dev-tools/container/e2e/sqlite/run-e2e-tests.sh
#- id: test-mysql
# name: Run Integration Tests (MySQL)
# run: ./contrib/dev-tools/container/e2e/mysql/run-e2e-tests.sh