1M vector scale config: 1024 centroids, nprobe=8, WAL frags=50, 600s … #10
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] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| check: | |
| name: Check & Clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo check --all-targets | |
| - run: cargo clippy --all-targets -- -D warnings | |
| unit-tests: | |
| name: Unit Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo test --lib -- --nocapture | |
| integration-tests: | |
| name: Integration Tests (MinIO) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Start MinIO | |
| run: | | |
| docker run -d --name minio \ | |
| -p 9000:9000 \ | |
| -e MINIO_ROOT_USER=minioadmin \ | |
| -e MINIO_ROOT_PASSWORD=minioadmin \ | |
| minio/minio:latest \ | |
| server /data | |
| for i in $(seq 1 10); do | |
| if curl -sf http://localhost:9000/minio/health/live; then | |
| echo "MinIO is ready" | |
| break | |
| fi | |
| echo "Waiting for MinIO... ($i/10)" | |
| sleep 2 | |
| done | |
| - name: Create MinIO test bucket | |
| run: | | |
| curl -sSL https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/local/bin/mc | |
| chmod +x /usr/local/bin/mc | |
| mc alias set local http://localhost:9000 minioadmin minioadmin | |
| mc mb local/stormcrow-test | |
| - name: Run integration tests | |
| env: | |
| TEST_BACKEND: minio | |
| TEST_S3_BUCKET: stormcrow-test | |
| MINIO_ENDPOINT: http://localhost:9000 | |
| MINIO_ACCESS_KEY: minioadmin | |
| MINIO_SECRET_KEY: minioadmin | |
| run: cargo test --test storage_tests -- --nocapture | |
| coverage: | |
| name: Code Coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: llvm-tools-preview | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install cargo-llvm-cov | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-llvm-cov | |
| - name: Start MinIO | |
| run: | | |
| docker run -d --name minio \ | |
| -p 9000:9000 \ | |
| -e MINIO_ROOT_USER=minioadmin \ | |
| -e MINIO_ROOT_PASSWORD=minioadmin \ | |
| minio/minio:latest \ | |
| server /data | |
| for i in $(seq 1 10); do | |
| if curl -sf http://localhost:9000/minio/health/live; then | |
| echo "MinIO is ready" | |
| break | |
| fi | |
| echo "Waiting for MinIO... ($i/10)" | |
| sleep 2 | |
| done | |
| - name: Create MinIO test bucket | |
| run: | | |
| curl -sSL https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/local/bin/mc | |
| chmod +x /usr/local/bin/mc | |
| mc alias set local http://localhost:9000 minioadmin minioadmin | |
| mc mb local/stormcrow-test | |
| - name: Generate coverage | |
| env: | |
| TEST_BACKEND: minio | |
| TEST_S3_BUCKET: stormcrow-test | |
| MINIO_ENDPOINT: http://localhost:9000 | |
| MINIO_ACCESS_KEY: minioadmin | |
| MINIO_SECRET_KEY: minioadmin | |
| run: | | |
| cargo llvm-cov --no-report --lib | |
| cargo llvm-cov --no-report --tests | |
| cargo llvm-cov report --lcov --output-path lcov.info | |
| - name: Upload to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| slug: zepdb/zeppelin | |
| files: lcov.info | |
| fail_ci_if_error: false | |
| docker-build: | |
| name: Docker Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build Docker image | |
| run: docker build -t zeppelin:ci . | |
| fmt: | |
| name: Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - run: cargo fmt --all -- --check |