Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/workflows/release-sanity-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Release Sanity Check

on:
push:
tags:
- 'v*'
pull_request:
branches: [master, main]
workflow_dispatch:

jobs:
sanity-check:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Build package
run: |
python -m pip install --upgrade pip build
python -m build

- name: Install from built wheel in clean venv
run: |
python -m venv /tmp/sanity-venv
/tmp/sanity-venv/bin/pip install dist/*.whl

- name: Verify import works
run: |
/tmp/sanity-venv/bin/python -c "
import qdrant_client;
from importlib.metadata import version as get_ver;
pkg = 'qdrant-client';
print(f'qdrant-client {get_ver(pkg)} imported successfully');
from qdrant_client import QdrantClient;
print('QdrantClient class available')
"
Comment thread
coderabbitai[bot] marked this conversation as resolved.

- name: Verify no test deps leaked
run: |
/tmp/sanity-venv/bin/python -c "
import sys;
leaked = [];
test_deps = ['pytest', 'hypothesis', 'coverage'];
[leaked.append(m) for m in test_deps if __import__(m, globals(), locals(), [], 0) or False];
" 2>/dev/null || true
/tmp/sanity-venv/bin/python -c "
import sys
for mod in ['pytest', 'hypothesis', 'coverage']:
try:
__import__(mod)
print(f'FAIL: {mod} leaked into package')
sys.exit(1)
except ImportError:
pass
print('No test dependencies leaked')
"