Skip to content

ci(publish): publish via PYPI_USERNAME/PYPI_PASSWORD (legacy auth)#84

Merged
kurok merged 1 commit into
masterfrom
publish-old-way-token-auth
Jun 12, 2026
Merged

ci(publish): publish via PYPI_USERNAME/PYPI_PASSWORD (legacy auth)#84
kurok merged 1 commit into
masterfrom
publish-old-way-token-auth

Conversation

@kurok

@kurok kurok commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Switches the PyPI upload step from OIDC Trusted Publishing to the legacy PYPI_USERNAME/PYPI_PASSWORD secrets, so v0.4.0 can be released without configuring a Trusted Publisher.

⚠️ This only succeeds if PYPI_PASSWORD is a valid API token (with PYPI_USERNAME = __token__) — PyPI no longer accepts plain username/password uploads. If it's a stale 2020 password, the upload will fail with an auth error (no partial upload; skip-existing: true makes retries safe).

Re-migrating to OIDC Trusted Publishing (and deleting these secrets) is the preferred long-term setup.

Fall back to token/password auth for the PyPI upload so a release can be cut
without configuring a Trusted Publisher. Requires PYPI_PASSWORD to be a valid
API token (PyPI no longer accepts plain passwords). Re-migrating to OIDC
Trusted Publishing is preferred long-term.

Signed-off-by: yuriyryabikov <22548029+kurok@users.noreply.github.com>
@kurok kurok merged commit eba868a into master Jun 12, 2026
7 checks passed
@kurok kurok deleted the publish-old-way-token-auth branch June 12, 2026 21:29
kurok added a commit that referenced this pull request Jun 12, 2026
Drop the legacy PYPI_USERNAME/PYPI_PASSWORD auth (from #84): setting an explicit
password disables Trusted Publishing AND silently ignores PEP 740 attestations.
Use OIDC (no long-lived creds) with attestations: true, alongside the existing
build-provenance attestation step. Requires a one-time PyPI Trusted Publisher
for namecheap/fast_mail_parser + publish.yml.

Also set download-artifact digest-mismatch to warn: the upload@v7/download@v8
pairing can report a spurious digest mismatch that fails artifact collection
even though the download succeeds (provenance attestation still covers integrity).

Signed-off-by: yuriyryabikov <22548029+kurok@users.noreply.github.com>
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