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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ matrix.python-version }} - name: Install jq uses: dcarbone/install-jq-action@b7ef57d46ece78760b4019dbc4080a1ba2a40b45 # 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.18.3' ./tests/integration-tests.sh shell: bash - name: Upload failed snapshot if tests fail if: failure() uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: failed_snapshot path: failed_snapshot.snapshot retention-days: 10