Skip to content

ci: add pip-audit gate, drop EOL Python 3.10, add Dependabot - #97

Merged
jhamon merged 2 commits into
mainfrom
chore/audit-drop-py310-dependabot
Aug 14, 2026
Merged

jhamon merged 2 commits into
mainfrom
chore/audit-drop-py310-dependabot

Conversation

@jhamon

@jhamon jhamon commented Aug 13, 2026 •

Copy link
Copy Markdown
Contributor

What

Brings pinecone-datasets to the standard CI bar. Existing CI already runs ruff format check, ruff lint, mypy, and pytest with coverage across a Python matrix (uv-based, least-privilege). This PR:

  1. Adds a dependency-audit job — runs pip-audit against the exported uv.lock, failing CI on known advisories.
  2. Drops near-EOL Python 3.10 — the lint job moves 3.10 → 3.12, and the test matrix becomes [3.11, 3.12, 3.13] (per the goal of not testing EOL runtimes).
  3. Adds .github/dependabot.yml — weekly pip (uv) + github-actions updates (grouped).

Verification (local)

  • uv export --format requirements-txt --all-extras | pip-audit -r → No known vulnerabilities found ✅.

Follow-up (your call)

requires-python is still >=3.10,<3.14. If 3.10 is being formally dropped, bump it to >=3.11 in a separate packaging PR — I left that out since it changes the published support policy.

🤖 Generated with Claude Code


Note

Low Risk
CI and automation-only changes; no runtime application logic, though dropping 3.10 from the matrix changes which Python versions are validated before release.

Overview
Raises the CI bar with automated dependency hygiene and narrower Python coverage.

A new Dependency audit job exports locked requirements from uv.lock and runs pip-audit, so CI fails on known advisories in resolved dependencies. Lint/type-check now runs on Python 3.12 (was 3.10), and the test matrix is 3.11–3.13 only—3.10 is no longer exercised in CI (packaging requires-python may still allow 3.10 until a follow-up).

Dependabot is added via .github/dependabot.yml for weekly uv updates (minor/patch grouped, cap 10 open PRs) and GitHub Actions updates (cap 5).

Reviewed by Cursor Bugbot for commit 61996a3. Bugbot is set up for automated code reviews on this repo. Configure here.

- Add a 'Dependency audit' job running pip-audit against the exported uv.lock,
  failing CI on any known advisory. Currently 0 vulnerabilities.
- Drop near-EOL Python 3.10 from CI: linting job 3.10 -> 3.12, and the test
  matrix is now [3.11, 3.12, 3.13].
- Add .github/dependabot.yml for pip (uv) + github-actions (grouped).

Verified locally: 'uv export | pip-audit' reports no known vulnerabilities.

Note: 'requires-python' in pyproject.toml is still '>=3.10,<3.14'. If 3.10 is
formally being dropped, that should be bumped to '>=3.11' in a follow-up (a
packaging/support decision left out of this CI change).
@jhamon
jhamon requested a review from a team as a code owner August 13, 2026 20:53

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit cd9cdc4. Configure here.

Comment thread .github/dependabot.yml
Bugbot flagged that 'package-ecosystem: pip' updates pyproject.toml but not
uv.lock. This repo is uv-managed (uv.lock, no requirements.txt) and installs/
audits from the lockfile, so pip-ecosystem PRs would leave uv.lock stale.
Switch to the 'uv' ecosystem, which updates pyproject.toml and uv.lock together.
@jhamon
jhamon merged commit 5630dd4 into main Aug 14, 2026
11 checks passed
@jhamon
jhamon deleted the chore/audit-drop-py310-dependabot branch August 14, 2026 04:28
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.

1 participant