Skip to content

ci: add release sanity check workflow#1187

Open
Pawansingh3889 wants to merge 3 commits intoqdrant:masterfrom
Pawansingh3889:ci/release-sanity-check
Open

ci: add release sanity check workflow#1187
Pawansingh3889 wants to merge 3 commits intoqdrant:masterfrom
Pawansingh3889:ci/release-sanity-check

Conversation

@Pawansingh3889
Copy link
Copy Markdown

All Submissions:
Contributions should target the dev branch. Did you create your branch from dev?
Have you followed the guidelines in our Contributing document?
Have you checked to ensure there aren't other open Pull Requests for the same update/change?
New Feature Submissions:
Does your submission pass tests?
Have you installed pre-commit with pip3 install pre-commit and set up hooks with pre-commit install?
Closes #958

Adds a CI workflow that catches broken releases before they hit PyPI:

Builds the package, installs the wheel in a clean venv
Verifies import qdrant_client works
Checks that test deps (pytest, hypothesis, coverage) didn't leak
Runs across Python 3.9-3.12
Triggers on tags, PRs, and manual dispatch

@netlify
Copy link
Copy Markdown

netlify bot commented Apr 5, 2026

Deploy Preview for poetic-froyo-8baba7 ready!

Name Link
🔨 Latest commit 75e9a0a
🔍 Latest deploy log https://app.netlify.com/projects/poetic-froyo-8baba7/deploys/69d2d5874a2b490008dd3ae5
😎 Deploy Preview https://deploy-preview-1187--poetic-froyo-8baba7.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 5, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a3d8b20f-3ed7-44b3-a4c3-d0e152761dda

📥 Commits

Reviewing files that changed from the base of the PR and between 94fc0cd and 75e9a0a.

📒 Files selected for processing (1)
  • .github/workflows/release-sanity-check.yml
✅ Files skipped from review due to trivial changes (1)
  • .github/workflows/release-sanity-check.yml

📝 Walkthrough

Walkthrough

Adds a new GitHub Actions workflow "Release Sanity Check" that triggers on tag pushes matching v*, pull requests to master/main, and manual dispatch. The workflow runs on ubuntu-latest with a Python 3.9–3.12 matrix, builds the package via python -m build, creates an isolated virtual environment, installs the produced wheel(s) from dist/*.whl, verifies importability of qdrant_client and the QdrantClient symbol, and checks that test-only dependencies (pytest, hypothesis, coverage) are not importable from the packaged wheel.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'ci: add release sanity check workflow' clearly and concisely describes the main change: introducing a new CI workflow for release validation.
Description check ✅ Passed The description relates to the changeset by explaining the purpose and functionality of the new release sanity check workflow being added.
Linked Issues check ✅ Passed The PR successfully implements the core requirements from issue #958: creates a workflow that builds the package, installs the wheel in a clean venv, verifies qdrant_client import works, and checks that test dependencies (pytest, hypothesis, coverage) didn't leak.
Out of Scope Changes check ✅ Passed All changes are within scope; the single new workflow file directly addresses the release sanity check objective with no extraneous modifications or scope creep.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/release-sanity-check.yml:
- Around line 36-43: The CI step tries to access qdrant_client.__version__ which
may not be defined and can raise AttributeError; change the workflow to avoid
reading __version__ directly (e.g., import qdrant_client and use
getattr(qdrant_client, '__version__', 'unknown') or remove the version print
altogether) and keep the validation of the QdrantClient class by importing
QdrantClient; ensure the workflow prints a safe fallback string instead of
accessing qdrant_client.__version__ so valid wheels don't fail CI.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b9aeb3b7-731d-495d-bcdb-dc630c49e51d

📥 Commits

Reviewing files that changed from the base of the PR and between cd5eb25 and 4d01616.

📒 Files selected for processing (1)
  • .github/workflows/release-sanity-check.yml

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/release-sanity-check.yml:
- Around line 38-42: The run step's multi-line python -c string is malformed:
line with print(...) (the call using version("qdrant-client")) is mis-indented
and the inner double quotes conflict with the outer double-quoted YAML string.
Fix by converting the value for the run key to a YAML block scalar (|) or use
single quotes for the outer shell string and escape inner quotes, then align all
python lines under the same indentation; ensure the python -c invocation
includes the full script (import qdrant_client, from importlib.metadata import
version, print(f'qdrant-client {version("qdrant-client")} imported
successfully'), from qdrant_client import QdrantClient) within the same properly
quoted/indented block so YAML parses and the Qdrant import check runs.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 142e9444-bfc5-401e-be63-92b43cb49568

📥 Commits

Reviewing files that changed from the base of the PR and between 4d01616 and 94fc0cd.

📒 Files selected for processing (1)
  • .github/workflows/release-sanity-check.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add release sanity check to CI

1 participant