name: Integration tests on: push: branches: [ master, dev ] pull_request: env: CARGO_TERM_COLOR: always jobs: test: strategy: matrix: python-version: - '3.10.x' - '3.11.x' - '3.12.x' - '3.13.x' os: - ubuntu-latest runs-on: ${{ matrix.os }} name: Python ${{ matrix.python-version }} on ${{ matrix.os }} test steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install jq uses: dcarbone/install-jq-action@v3.2.0 - name: Install dependencies run: | python -m pip install poetry poetry config virtualenvs.create false poetry install --no-interaction --no-ansi --all-extras - name: Run async client generation tests run: | if [[ ${{ matrix.python-version }} == "3.10.x" ]]; then ./tests/async-client-consistency-check.sh fi shell: bash - name: Run inspection cache population tests run: | if [[ ${{ matrix.python-version }} == "3.10.x" ]]; then ./tests/inspection-cache-consistency-check.sh fi shell: bash - name: Check conversion coverage run: | ./tests/coverage-test.sh shell: bash - name: Run Python doc tests run: | python -m doctest qdrant_client/local/local_collection.py - name: Run integration tests env: HF_TOKEN: ${{ secrets.HF_TOKEN }} run: | ./tests/integration-tests.sh shell: bash - name: Backward compatibility integration tests env: HF_TOKEN: ${{ secrets.HF_TOKEN }} run: | QDRANT_VERSION='v1.15.5' ./tests/integration-tests.sh shell: bash - name: Run fastembed tests without fastembed run: | pip3 uninstall fastembed -y pytest -x tests/test_fastembed.py pytest -x tests/embed_tests/test_local_inference.py shell: bash - name: Upload failed snapshot if tests fail if: failure() uses: actions/upload-artifact@v4 with: name: failed_snapshot path: failed_snapshot.snapshot retention-days: 10