Skip to content

chore(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.2 - #30

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/pypa/gh-action-pypi-publish-1.14.2
Open

chore(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.2#30
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/pypa/gh-action-pypi-publish-1.14.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 10, 2026

Copy link
Copy Markdown

Bumps pypa/gh-action-pypi-publish from 1.14.0 to 1.14.2.

Release notes

Sourced from pypa/gh-action-pypi-publish's releases.

v1.14.2

🛠️ Urgh… Another release!? Again? Explain yourself!

Looking at the diff, you'll only witness updates across the dependency tree. That's it! It's not a security fix or anything like that even, no. But you'll want this update.

[!tip] So what most people will find useful is @​takluyver💰's update of Twine to v7 that we use internally (#416). This version will let them upload their sdists and wheels containing core packaging metadata v2.5 to (Test)PyPI.

🧐 Tell me why..

TL;DR non-pure-python projects with C-extensions tend to have dozens (sometimes hundreds) wheels to upload to PyPI per release. They are often quite big and take time to transfer over the network. People started noticing problems and coming up with DIY sharding workarounds like aio-libs/aiohttp#13226 around July 23. On this date, projects with a good amount of bytes to publish would start getting timeouts 5 minutes after the PyPI publishing job begun. The same job that worked just fine before.

I had to start pinging upstream library and ecosystem people, on GitHub and privately, to start making sense of what was happening. Eventually, we collectively concluded that GitHub must've shortened the lifetime of their OIDC identity — it seems to have used to be 10 minutes long (at some point in the past) and is now 5 minutes, apparently. It's not documented clearly, and we have not been able to get any clarity by attempting to contact GitHub through private channels, using personal connections.

Over the course of investigation, @​facutuesca💰 found and fixed a related underlying cache invalidation bug in sigstore/sigstore-python#1838, which he then coordinated propagation through the dependency chain updates in sigstore-python, pypi-attestations, gh-action-pypi-publish and gh-action-sigstore-python.

Mike's also discovered that Sigstore's Rekor slowdown seems to have become the main contributing cause of the last week's incident. He's collected some data to support this claim: https://publishing-five-minute-timeout.tiiny.site.

🫶 New Contributors

🪞 Full Diff: pypa/gh-action-pypi-publish@v1.14.1...v1.14.2

🧔‍♂️ Release Manager: @​webknjaz 🇺🇦

🙏 Special Thanks to @​davidbrochart💰 and @​Dreamsorcerer💰 for turning my attention (in #415 and in private) to the newly surfaced corner case in GitHub's behavior that only affected a narrow category of projects while many others remained blissfully unaware. @​bdraco💰 came up with a DIY sharding workaround for aiohttp that served as a demo for other projects. @​miketheman💰 confirmed the Warehouse-side details. Also, @​jku💰 and @​woodruffw💰 helped work through, review and release the Sigstore ecosystem upstream libs.

💬 Discuss on Bluesky 🦋, on Mastodon 🐘 and [on GitHub][release discussion].

[![GH Sponsors badge]][GH Sponsors URL]

... (truncated)

Commits
  • dc37677 Merge pull request #417 from trail-of-forks/ft/bump-deps
  • 8b2f234 Bump pypi-attestations and sigstore
  • 78b72db Merge pull request #416 from takluyver/twine-v7
  • 92f4d2a Update twine to v7
  • ba38be9 Merge pull request #408 from adisivaprasad/bump-setup-python-v6
  • a6c5088 Bump actions/setup-python from v5.6.0 to v6.2.0
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.14.0 to 1.14.2.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](pypa/gh-action-pypi-publish@cef2210...dc37677)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-version: 1.14.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Aug 10, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: dependencies, github-actions. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

n1ckyb pushed a commit that referenced this pull request Aug 10, 2026
The first commit on this branch fixed two pin comments. Auditing every pin against
the real upstream tag lists found five, not two:

    actions/checkout@3d3c42e5        said v4.2.2      really v7.0.1   (ci.yml AND publish.yml)
    actions/upload-artifact@043fb46d said v4.5.0      really v7.0.1
    actions/download-artifact@3e5f45 said v4.1.4      really v8.0.1
    pypa/gh-action-pypi-publish@dc37 said release/v1  really v1.14.2

The last is not a lie - naming the branch is a legitimate convention, and
dtolnay/rust-toolchain@... # stable is left exactly as it is for that reason. But
it leaves Dependabot no version to compare against, which is why it keeps
proposing 1.14.2 over a pin that already IS 1.14.2 (#30).

All five share one signature: a bump replaced the SHA and left the comment behind.
Nothing in CI could see it, because a stale comment is still valid YAML and the
workflow runs perfectly - just not the version everyone believes it runs.

WHY THIS IS NOT COSMETIC

The comment is the only human-readable part of a SHA pin. Wrong, it breaks three
things at once:

  - Reviewers approve a version they were never shown. The diffs above understate
    what runs by three and four major versions.
  - Dependabot proposes bumps that are already applied, because it trusts the
    comment. #27, #28, #30 and #31 are all CONFLICTING or failing for this reason
    and this reason alone.
  - "Pin to SHA" stops buying anything if nobody can tell which release the SHA
    is, and the label they use to tell is wrong.

THE GATE

Fixing five comments without adding a check just resets the clock, so:

  scripts/check_action_pin_comments.py resolves every pinned SHA against the
  upstream tag list and fails on disagreement. It reads only public tags, so
  GITHUB_TOKEN suffices and it runs on Dependabot and fork PRs - the PRs where
  this symptom actually surfaces. Comments naming a branch are reported, not
  failed.

  tests/unit/test_action_pin_comments.py checks offline what can be checked
  offline: no bare SHAs, one SHA never labelled two versions, one version label
  never pointing at two SHAs, nothing pinned to a mutable ref.

Both were verified to BITE, not just to pass: reintroducing the v4.2.2 comment
makes the script exit 1 with the mismatch named, and fails the offline test that
one SHA carries two labels. Clean, the script reports 13 pins agreeing and 0
disagreeing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
n1ckyb added a commit that referenced this pull request Aug 10, 2026
* fix(ci): correct action version comments that disagreed with their SHAs

publish.yml pinned:

    actions/upload-artifact@043fb46d... # v4.5.0     <- SHA is v7.0.1
    actions/download-artifact@3e5f45b2... # v4.1.4   <- SHA is v8.0.1

Confirmed against the upstream tag lists. The SHAs are correct and were verified
when they landed; the COMMENTS were not updated with them.

My fault. Rebuilding those Dependabot branches on the RC replaced the pinned SHA
and left the trailing comment untouched, so every reader of this workflow has
since been told it runs v4.5.0 while it actually runs v7.0.1 - a three-major gap
in what a reviewer thinks they are approving.

The comment is the ONLY human-readable part of a SHA pin. A wrong one is worse
than none: it looks like provenance and is misinformation.

It also explains why Dependabot #27 and #28 CONFLICT. Dependabot reads the
comment, believes the pin is v4.5.0, and proposes bumping to the SHA that is
already there. With the comments corrected those PRs are redundant rather than
conflicting - they propose exactly what is already pinned.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(ci): correct all five lying action pins, and gate against a sixth

The first commit on this branch fixed two pin comments. Auditing every pin against
the real upstream tag lists found five, not two:

    actions/checkout@3d3c42e5        said v4.2.2      really v7.0.1   (ci.yml AND publish.yml)
    actions/upload-artifact@043fb46d said v4.5.0      really v7.0.1
    actions/download-artifact@3e5f45 said v4.1.4      really v8.0.1
    pypa/gh-action-pypi-publish@dc37 said release/v1  really v1.14.2

The last is not a lie - naming the branch is a legitimate convention, and
dtolnay/rust-toolchain@... # stable is left exactly as it is for that reason. But
it leaves Dependabot no version to compare against, which is why it keeps
proposing 1.14.2 over a pin that already IS 1.14.2 (#30).

All five share one signature: a bump replaced the SHA and left the comment behind.
Nothing in CI could see it, because a stale comment is still valid YAML and the
workflow runs perfectly - just not the version everyone believes it runs.

WHY THIS IS NOT COSMETIC

The comment is the only human-readable part of a SHA pin. Wrong, it breaks three
things at once:

  - Reviewers approve a version they were never shown. The diffs above understate
    what runs by three and four major versions.
  - Dependabot proposes bumps that are already applied, because it trusts the
    comment. #27, #28, #30 and #31 are all CONFLICTING or failing for this reason
    and this reason alone.
  - "Pin to SHA" stops buying anything if nobody can tell which release the SHA
    is, and the label they use to tell is wrong.

THE GATE

Fixing five comments without adding a check just resets the clock, so:

  scripts/check_action_pin_comments.py resolves every pinned SHA against the
  upstream tag list and fails on disagreement. It reads only public tags, so
  GITHUB_TOKEN suffices and it runs on Dependabot and fork PRs - the PRs where
  this symptom actually surfaces. Comments naming a branch are reported, not
  failed.

  tests/unit/test_action_pin_comments.py checks offline what can be checked
  offline: no bare SHAs, one SHA never labelled two versions, one version label
  never pointing at two SHAs, nothing pinned to a mutable ref.

Both were verified to BITE, not just to pass: reintroducing the v4.2.2 comment
makes the script exit 1 with the mismatch named, and fails the offline test that
one SHA carries two labels. Clean, the script reports 13 pins agreeing and 0
disagreeing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: n1ckyb <nicknuxton@icloud.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.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.

0 participants