Skip to content

ci: prepare trusted PyPI publishing for 0.0.1 - #37

Merged
DamianReeves merged 2 commits into
mainfrom
ci/pypi-trusted-publishing-0.0.1
Oct 27, 2026
Merged

DamianReeves merged 2 commits into
mainfrom
ci/pypi-trusted-publishing-0.0.1

Conversation

@DamianReeves

@DamianReeves DamianReeves commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Prepare the first PyPI release as morphir==0.0.1 and morphir-tools==0.0.1. The repository name remains morphir-python; the workspace is not published.

The release workflow now reuses CI and publishes the exact validated artifacts through GitHub OIDC. Package qualification checks tag/version agreement, wheel and source metadata, included Apache license files, isolated wheel installation and CLI/import smoke checks, known dependency vulnerabilities, and a permissive license allowlist. Fix the existing build-output mismatch by writing distributions to the per-package upload directories. Restrict id-token: write to publishing jobs; manual workflow runs qualify without publishing.

The first audit caught CVE-2026-4539 in Pygments 2.19.2. Require Pygments >=2.20.0 in published tools metadata and lock 2.21.0. The refreshed runtime dependency audit is clean.

Validation: mise run check passes with 2,058 tests and BDD scenarios; coverage is 98.50%; both distributions pass strict Twine checks, isolated installs, vulnerability and license checks; actionlint passes. Negative checks reject mismatched release tags, unexpected artifacts and licenses outside the allowlist. Hosted CI passes on the final head 0b93870: https://github.com/finos/morphir-python/actions/runs/40507592642. Both distribution artifacts and scan reports were uploaded.

GitHub setup: created the pypi environment with a tag-only v* deployment policy. Both PyPI projects must trust owner finos, repository morphir-python, workflow release.yml, environment pypi. Owner/repository are confirmed; the PyPI-side publisher entries are not directly verified. No PyPI token is needed. No release tag or publication has been made; merge/release require maintainer approval.

Tracker: morphir-udu4.

Qualify the exact published artifacts through CI, metadata and install checks, vulnerability auditing, and a license allowlist. Restrict OIDC permission to publishing jobs and align package versions and artifact paths.

Require Pygments 2.20.0 or later to exclude CVE-2026-4539.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-27T12:56:08.562016Z 9b6aa05 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@DamianReeves
DamianReeves merged commit 648d979 into main Oct 27, 2026
5 checks passed
@DamianReeves
DamianReeves deleted the ci/pypi-trusted-publishing-0.0.1 branch October 28, 2026 03:34
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