implement performance testing #433
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: [pull_request] | |
| jobs: | |
| setup: | |
| name: Setup Rust Toolchain | |
| runs-on: ubuntu-latest | |
| outputs: | |
| cache-key: ${{ steps.cache-key.outputs.cache-key }} | |
| steps: | |
| - name: Fetch Repository | |
| uses: actions/checkout@v4 | |
| - name: Install stable Rust toolchain | |
| uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| components: rustfmt, clippy | |
| cargo-fmt: | |
| name: Cargo Format Check | |
| runs-on: ubuntu-latest | |
| needs: setup | |
| steps: | |
| - name: Fetch Repository | |
| uses: actions/checkout@v4 | |
| - name: Rustfmt Check | |
| run: cargo fmt --all --check | |
| cargo-build: | |
| name: Cargo Build | |
| runs-on: ubuntu-latest | |
| needs: cargo-fmt | |
| steps: | |
| - name: Fetch Repository | |
| uses: actions/checkout@v4 | |
| - name: Cargo Build | |
| run: cargo build --workspace --all-targets --all-features | |
| cargo-clippy: | |
| name: Cargo Clippy Check | |
| runs-on: ubuntu-latest | |
| needs: cargo-build | |
| steps: | |
| - name: Fetch Repository | |
| uses: actions/checkout@v4 | |
| - name: Clippy Check | |
| run: cargo clippy --workspace --all-targets --all-features -- -D warnings | |
| cargo-nextest: | |
| name: Cargo Nextest | |
| runs-on: ubuntu-latest | |
| needs: cargo-build | |
| steps: | |
| - name: Fetch Repository | |
| uses: actions/checkout@v4 | |
| - name: Install cargo-nextest | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: nextest@0.9.98 | |
| - name: Run Cargo Tests | |
| run: cargo nextest run --workspace --all-targets --all-features | |
| cargo-machete: | |
| name: Cargo Machete Check | |
| runs-on: ubuntu-latest | |
| needs: cargo-build | |
| steps: | |
| - name: Fetch Repository | |
| uses: actions/checkout@v4 | |
| - name: Check for unused dependencies | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-machete | |
| - run: cargo machete --with-metadata |