You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Focused, sensible change. The diff does two things — corrects the bad pypa/gh-action-pypi-publish pin and adds a manual backfill workflow to publish the existing v0.2.0 tag. Overall looks good; a few things worth checking before relying on it.
⚠️ Main concern: PyPI Trusted Publishing is configured per workflow filename
The new publish-pypi.yml uses OIDC (id-token: write, environment: pypi, no API token). PyPI's trusted publisher entries are scoped to a specific workflow filename (and optionally environment). The existing publisher was almost certainly registered for release-please.yml. Unless you've added a matching trusted publisher (or a pending publisher) for publish-pypi.yml with the pypi environment on PyPI, the OIDC exchange will be rejected and this manual run will fail — the same class of failure you're trying to recover from.
Action: confirm a Trusted Publisher entry exists on PyPI for publish-pypi.yml before dispatching, or reuse the existing release-please.yml filename for the backfill.
Bugs / correctness
SHA correctness (the core fix): I couldn't independently verify the new pin 76f52bc884231f62b9a034ebfe128415bbaabdfc resolves to the v1.12.4 tag (network/API access was blocked in my environment). Since the whole PR hinges on this, please double-check via gh api repos/pypa/gh-action-pypi-publish/git/refs/tags/v1.12.4 that it dereferences to this commit. Worth confirming what produced the original wrong SHA so it doesn't recur.
Re-publish failure: if v0.2.0 artifacts already exist on PyPI, the publish step will hard-fail (file already exists). Expected for a one-shot backfill, just be aware re-runs aren't idempotent.
Security
publish-pypi.yml builds and publishes from an arbitrary inputs.ref, so anyone with workflow_dispatch permission can publish any ref to PyPI. This is acceptable only if the pypi environment has protection rules (required reviewers / restricted branches). Recommend confirming that's in place.
Permissions are correctly minimized (contents: read + id-token: write) and all actions are SHA-pinned with version comments. 👍
Maintainability (minor)
This workflow reads as a one-time backfill but lives in the repo permanently. The default: v0.2.0 input will become stale/misleading for any future manual use. Consider either (a) removing it after the backfill, or (b) dropping the hardcoded default and renaming it to a generic "manual publish" tool.
Unlike release-please.yml, the manual workflow skips the test matrix before publishing. Fine for re-publishing an already-tested tag, but note there's no guard if it's pointed at an untested ref later.
Test coverage
N/A — CI-only change. The PR description's validation (git diff --check, YAML parse, API SHA check) is the right approach for a workflow change.
Nice clean fix — the trusted-publisher filename scoping is the one thing I'd verify before dispatching so the backfill doesn't fail the same way the original did.
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
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.
Summary
Business relevance
This restores the Python SDK release path and unblocks publishing layerv-qurl v0.2.0 to PyPI for customers/installers.
Validation