Skip to content

feat: More robust release workflow for PyPi#399

Draft
erichare wants to merge 1 commit intodatastax:mainfrom
erichare:feat-release-workflow
Draft

feat: More robust release workflow for PyPi#399
erichare wants to merge 1 commit intodatastax:mainfrom
erichare:feat-release-workflow

Conversation

@erichare
Copy link
Collaborator

@erichare erichare commented Feb 23, 2026

Fixes #382

This pull request updates the project's GitHub Actions workflows to improve dependency management and publishing safety. The main improvements are the adoption of the uv package manager for faster and more reliable dependency installs, and enhancements to the release workflow to prevent duplicate releases and enable provenance attestations for published packages.

Dependency management modernization:

  • Replaces direct setup-python and manual pip/venv setup with a custom uv_setup action and uses uv sync --dev to install dependencies in all workflows (lint.yml, main.yml, unit.yml, local.yml). This standardizes and speeds up dependency installation. [1] [2] [3] [4]

Release workflow improvements:

  • Adds a step to check if the package version already exists on PyPI before attempting to publish, and skips the publish steps if it does, preventing accidental duplicate releases. The result is passed between jobs using the version-exists output. [1] [2] [3] [4] [5] [6]
  • Enables provenance attestations (attestations: true) for both test and production PyPI publishes, improving package security and traceability. [1] [2]

These changes make the CI/CD pipeline more robust, modern, and secure.

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.

Improvements in the release workflow (and workflows in general)

1 participant