feat: distributed vector search via index segment selection #82
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: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: "1" | |
| jobs: | |
| format: | |
| name: Rustfmt | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| components: rustfmt | |
| - name: Check formatting | |
| run: cargo fmt -- --check | |
| clippy: | |
| name: Clippy | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y protobuf-compiler | |
| - name: Clippy | |
| run: cargo clippy --all-targets -- -D warnings | |
| test-linux: | |
| name: Tests (Linux) | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| env: | |
| CC: clang | |
| CXX: clang++ | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y protobuf-compiler | |
| - name: Run tests | |
| run: cargo test | |
| - name: Run C/C++ compilation tests | |
| run: cargo test --test compile_and_run_test -- --ignored | |
| test-macos: | |
| name: Tests (macOS) | |
| runs-on: macos-14 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install dependencies | |
| run: brew install protobuf | |
| - name: Run tests | |
| run: cargo test | |
| - name: Run C/C++ compilation tests | |
| run: cargo test --test compile_and_run_test -- --ignored | |
| rustdoc: | |
| name: Rustdoc | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y protobuf-compiler | |
| - name: Check documentation | |
| run: RUSTDOCFLAGS="-D warnings" cargo doc --no-deps | |
| msrv: | |
| name: MSRV (1.91.0) | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| toolchain: "1.91.0" | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y protobuf-compiler | |
| - name: Check MSRV | |
| run: cargo check --all-targets | |
| license-headers: | |
| name: License headers | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check Rust files for SPDX headers | |
| run: | | |
| MISSING="" | |
| for f in $(find src tests -name '*.rs'); do | |
| if ! head -2 "$f" | grep -q 'SPDX-License-Identifier'; then | |
| MISSING="$MISSING $f" | |
| fi | |
| done | |
| if [ -n "$MISSING" ]; then | |
| echo "Missing SPDX license header in:$MISSING" | |
| exit 1 | |
| fi |