Open
Conversation
Replace all direct maturin usage in CI workflows with uv, which invokes maturin through the pyproject.toml build-backend configuration: - pypi-release.yml: Replace PyO3/maturin-action with astral-sh/setup-uv, use `uv build` for wheel/sdist generation and `uv publish` for PyPI upload (authenticated via UV_PUBLISH_TOKEN secret) - python-wheels.yml: Replace `pip install maturin && maturin build` with `uv build`, add Rust toolchain setup, drop EOL Python 3.8 - release.yml: Fix --all-features flag causing PyO3 build failures, bump softprops/action-gh-release from v1 to v2 - pyproject.toml: Drop Python 3.8 (EOL), set minimum to 3.9 The maturin build-backend in pyproject.toml is preserved since uv delegates to it for compiling the Rust/PyO3 extension. Closes #62 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces all direct
maturinCLI usage in CI/CD workflows withuv, aligning with modern Python packaging standards asmaturin publishis being deprecated.pypi-release.yml: ReplacedPyO3/maturin-actionwithastral-sh/setup-uvfor both building and publishing. Wheels are built withuv build --wheel, sdist withuv build --sdist, and published withuv publishusingUV_PUBLISH_TOKEN. Simplified the build matrix from per-Python-version to per-OS (uv handles version targeting).python-wheels.yml: Replacedpip install maturin && maturin buildwithuv build --wheel. Added explicit Rust toolchain setup. Dropped EOL Python 3.8.release.yml: Fixed--all-featuresflag in test job that caused PyO3 build failures (same root cause as 🔧 Fix Dependabot PR Backlog & Workflow Label Issues #61). Bumpedsoftprops/action-gh-releasefrom v1 to v2.pyproject.toml: Dropped Python 3.8 support (EOL Dec 2024), minimum is now 3.9.The
maturinbuild-backend inpyproject.tomlis intentionally preserved —uv builddelegates to it for compiling the Rust/PyO3 extension into Python-compatible shared libraries.Build & Publish Flow (before → after)
PyO3/maturin-actionuv build --wheelmaturin sdistuv build --sdistmaturin uploaduv publishMATURIN_PYPI_TOKENUV_PUBLISH_TOKENTest plan
uv buildinvokes maturin correctly through pyproject.toml build-backendUV_PUBLISH_TOKENsecret needs to be set (same value asPYPI_API_TOKEN)Closes #62
🤖 Generated with Claude Code