Repository navigation
ci: prepare trusted PyPI publishing for 0.0.1 - #37
Merged
Merged
Conversation
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.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
5 tasks done
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.
Prepare the first PyPI release as
morphir==0.0.1andmorphir-tools==0.0.1. The repository name remainsmorphir-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: writeto 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 checkpasses 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
pypienvironment with a tag-onlyv*deployment policy. Both PyPI projects must trust ownerfinos, repositorymorphir-python, workflowrelease.yml, environmentpypi. 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.