Skip to content

Configure validated PyPI and TestPyPI publishing - #110

Merged
yury-lysogorskiy merged 1 commit into
masterfrom
ci/pypi-publishing
Oct 31, 2026
Merged

yury-lysogorskiy merged 1 commit into
masterfrom
ci/pypi-publishing

Conversation

@yury-lysogorskiy

@yury-lysogorskiy yury-lysogorskiy commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Configure one manual build-and-publish workflow for the python-ace PyPI distribution. Build Linux x86-64 manylinux wheels for Python 3.9–3.13 plus a source distribution, smoke-test wheels, validate metadata and full release coverage, and upload only when the operator explicitly selects TestPyPI or PyPI.

Connect the existing PYPI_USERNAME/PYPI_PASSWORD and TEST_PYPI_API_TOKEN secrets. Keep OIDC Trusted Publishing as the fallback when the corresponding password secret is absent, and enable attestations only for OIDC. PyPI and TestPyPI use separate publishing jobs and master-only GitHub environments. Retire the duplicate source-only TestPyPI workflow.

Preflight rejects publication from non-master refs and package versions already present on the target index. The current 0.4.0rc1 is already published; a new version must be committed before an actual upload. No release upload is part of this change.

Validation: actionlint passes, strict MkDocs build passes, real wheel/sdist metadata checks pass, incomplete wheel coverage is rejected, and the live-PyPI duplicate-version and non-master guards both reject publication as intended. Full-matrix build-only GitHub validation is run before activation. Existing secret values were not read or changed; their validity cannot be verified without an upload.

Full build-only validation passed: https://github.com/ICAMS/python-ace/actions/runs/41216645833. All five Python 3.9–3.13 wheels built and passed smoke tests; strict Twine checks and the final artifact validator accepted five wheels and one source distribution. Both publication jobs were skipped. The normal PR wheel/source/validation pipeline also passed. No package version was changed or uploaded.

@yury-lysogorskiy
yury-lysogorskiy merged commit 1b5db96 into master Oct 31, 2026
21 checks passed
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.

1 participant