Skip to content

ci: bind PyPI publish jobs to per-package environments - #191

Merged
mikemcdougall merged 1 commit into
trunkfrom
ci/pypi-publisher-environments
Aug 5, 2026
Merged

ci: bind PyPI publish jobs to per-package environments#191
mikemcdougall merged 1 commit into
trunkfrom
ci/pypi-publisher-environments

Conversation

@mikemcdougall

Copy link
Copy Markdown
Contributor

PyPI refused the second pending trusted publisher: two pending publishers cannot share an identical repo/workflow/environment configuration, and both of ours pointed at publish-python-sdk.yml with no environment. Each publish job now runs in its own GitHub environment (pypi-honua-sdk, pypi-honua-admin — both created in repo settings, no protection rules), so the publishers register with distinct tuples. Environment names are also reflected in the workflow comments.

No behavior change for CI lanes; the environments carry no secrets or approvals. Publisher registration on PyPI should use the matching environment name per package.

Refs #178

PyPI rejects two pending trusted publishers with an identical
repo/workflow/environment tuple, so the honua-sdk and honua-admin
publishers could not both be registered against the bare workflow.
Bind each publish job to its own GitHub environment (pypi-honua-sdk,
pypi-honua-admin) so the two OIDC configurations are distinct.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@mikemcdougall
mikemcdougall merged commit fcf517e into trunk Aug 5, 2026
25 of 26 checks passed
@mikemcdougall
mikemcdougall deleted the ci/pypi-publisher-environments branch August 5, 2026 06:24
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