Deploy workflow candidate for 2.0.0rc1#55
Open
C-Achard wants to merge 3 commits intocy/pre-release-cleanupfrom
Open
Deploy workflow candidate for 2.0.0rc1#55C-Achard wants to merge 3 commits intocy/pre-release-cleanupfrom
C-Achard wants to merge 3 commits intocy/pre-release-cleanupfrom
Conversation
This reverts commit 09a8364.
Simplify and reorganize the CI workflow: normalize tag pattern quoting and narrow pull_request branches/types. Add permissions.contents=read. Rename the main job to a test_matrix job that runs a Python matrix, streamline setup and pip installs, remove verbose cache steps (use setup-python cache option), and simplify build/twine checks and wheel smoke test (only imports the package; CLI smoke test removed). Add a separate build_release job (runs on tag pushes) to build distributions and upload them as artifacts. Update publish job to download artifacts, install twine, and upload to PyPI using non-interactive --skip-existing; make publish depend on build_release.
Split the workflow into validation and release paths and add clearer step names and safeguards. PRs against main/master now run a validation matrix (3.10, 3.11, 3.12) that builds the package, runs twine check, and smoke-tests installing the wheel; fail-fast is disabled to surface version-specific issues. Tag pushes matching v*.*.* trigger a canonical release build (single Python 3.12) that produces dist artifacts, uploads them as workflow artifacts, and a separate publish job downloads those artifacts and uploads them to PyPI. Other improvements: minimal permissions (contents: read), explicit checkout/setup steps, pip caching enabled, comments for clarity, and use of --skip-existing when uploading to PyPI.
Author
|
@MMathisLab @AlexEMG This workflow proposal is intended to match the DLC-live usage exactly, and it adds checks to ensure the distributions build and install on all supported versions. I’d really appreciate your review and feedback or requested changes to ensure it meets our publishing expectations. |
Member
|
I added the repo to the repos that the twine key can use ✅ |
MMathisLab
approved these changes
Feb 24, 2026
Author
Amazing thanks ! |
Member
|
@C-Achard we could drop 3.10; we risk perhaps running out of credits in the DLC org for too many tests :) |
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.
Deploy workflow using Twine for PyPI uploads with an API token.
Workflow structure:
test→test_matrix,build→build_release,publish→publish) and updated job descriptions for clarity. (.github/workflows/python-package.yml)Validation and testing enhancements:
.github/workflows/python-package.yml).github/workflows/python-package.yml)