69 lines
1.8 KiB
YAML
69 lines
1.8 KiB
YAML
name: ruvector-verified CI
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- "crates/ruvector-verified/**"
|
|
- "Cargo.lock"
|
|
pull_request:
|
|
paths:
|
|
- "crates/ruvector-verified/**"
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
RUSTFLAGS: "-D warnings"
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
feature-set:
|
|
- ""
|
|
- "--features hnsw-proofs"
|
|
- "--features rvf-proofs"
|
|
- "--features coherence-proofs"
|
|
- "--features all-proofs"
|
|
- "--features ultra"
|
|
- "--features serde"
|
|
- "--all-features"
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Check (${{ matrix.feature-set || 'default' }})
|
|
run: cargo check -p ruvector-verified ${{ matrix.feature-set }}
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
needs: check
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Run tests (all features)
|
|
run: cargo test -p ruvector-verified --all-features
|
|
- name: Run tests (default features)
|
|
run: cargo test -p ruvector-verified
|
|
|
|
bench:
|
|
runs-on: ubuntu-latest
|
|
needs: check
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Run benchmarks (dry-run)
|
|
run: cargo bench -p ruvector-verified --all-features -- --test
|
|
|
|
clippy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: clippy
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Clippy (all features)
|
|
run: cargo clippy -p ruvector-verified --all-features -- -D warnings
|