⬆️ CI/CD-#96: Configure PyPI publish workflows with OIDC#97
Merged
FernandoCelmer merged 14 commits intodevelopfrom Mar 26, 2026
Merged
⬆️ CI/CD-#96: Configure PyPI publish workflows with OIDC#97FernandoCelmer merged 14 commits intodevelopfrom
FernandoCelmer merged 14 commits intodevelopfrom
Conversation
… to use composite actions
…ignore intentional patterns
… integration tests
FernandoCelmer
commented
Mar 26, 2026
Member
Author
FernandoCelmer
left a comment
There was a problem hiding this comment.
🔍 Code Review
Code issues found: 5
See inline comments below.
…rimental, and poetry lock fallback
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
.github/actions/build-package/— composite action to build the Python package withpython -m build.github/actions/setup-poetry/— composite action to set up Python + Poetry with dependency caching.github/actions/extract-version/— composite action to extract version from a release tag (stripsvprefix).github/actions/update-version/— composite action to updateLAST_VERSION,pyproject.toml, anddotflow/__init__.py.github/actions/commit-push/— composite action to commit and push changes to a target branch.github/workflows/test.yml— reusable workflow for running pytest across Python 3.9–3.14 with coverage.github/workflows/code-quality.yml— reusable workflow for Ruff, Flake8, and MyPy checks.github/workflows/python-publish-pypi.yml— refactored to use OIDC, composite actions, and reusable workflows.github/workflows/python-publish-pypi-test.yml— refactored to use OIDC and reusable workflows.code_quality/— centralized config for Ruff, Flake8, Black, isort, and MyPydotflow/andtests/— formatting modernization via Ruff (import sorting, type annotation upgrades)Motivation and Context
Eliminate long-lived PyPI API tokens stored as repository secrets by adopting OIDC Trusted Publisher authentication. Modularize CI/CD with reusable composite actions to reduce duplication and improve maintainability.
Closes #96
Types of changes
Checklist