CI: Modernize CI/CD suite using uv for 50% faster execution#122
Open
abstract-333 wants to merge 6 commits intoipinfo:masterfrom
Open
CI: Modernize CI/CD suite using uv for 50% faster execution#122abstract-333 wants to merge 6 commits intoipinfo:masterfrom
uv for 50% faster execution#122abstract-333 wants to merge 6 commits intoipinfo:masterfrom
Conversation
- Upgrade actions/checkout and actions/setup-python to v6. - Replace pip and setup.py with astral-sh/setup-uv. - Use uv build for PEP 621 compliant builds.
- Replace pip install with uv pip install using existing requirements.txt. - Update actions/checkout and actions/setup-python to v6. - Use astral-sh/setup-uv for optimized caching.
- Consolidated build and publish steps into uv - Leverages OIDC (Trusted Publishing) natively - Reduces workflow overhead by removing extra action steps
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.
📝 Description
This PR transitions the project's GitHub Actions workflows from standard
pip/setuptoolsto uv. This modernization significantly reduces the time spent in CI runners, simplifies dependency management, and adopts the latest GitHub Action versions.🚀 Performance Improvements
uvresolves and installs dependencies significantly faster than standardpip, especially in the "Test" matrix.🛠 Key Technical Changes
pypa/gh-action-pypi-publishto nativeuv publishincd_pypi.yml.uv build --no-build-isolationto leverage the existing environment, avoiding the overhead of creating temporary build venvs.astral-sh/setup-uv@v7across all workflows.actions/checkout@v6,actions/setup-python@v6) for better security and runner compatibility.🛡 Zero Breaking Changes
requirements.txtorsetup.py.pipandpytestlocally exactly as they do today. The use ofuvis isolated to the CI environment.id-token: writepermissions for secure, passwordless PyPI uploads.✅ Verification & Testing
I have verified these changes on a fork to ensure stability:
uv publish --dry-runto verify the OIDC handshake and package integrity.uv buildgenerates correct wheel and sdist structures.