From 4d4d879d1b508cb68a9ea6e8fc1ab45f108db2d0 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Tue, 21 Jul 2026 12:21:27 +0200 Subject: [PATCH 1/2] Harden PyPI publishing against transient failures --- .github/workflows/publish.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e0ea34f..307cf79 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,6 +13,10 @@ on: type: boolean description: Publish to PyPI +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: false + jobs: check: if: github.repository == 'ultralytics/mkdocs' && github.actor == 'glenn-jocher' && github.ref == 'refs/heads/main' @@ -100,8 +104,20 @@ jobs: name: dist path: dist/ - uses: pypa/gh-action-pypi-publish@release/v1 + id: publish + continue-on-error: true with: skip-existing: true # tolerate recovery re-runs after partial failures + - name: Clean partial attestations # leftover *.publish.attestation files make the retry fail pre-existence checks + if: steps.publish.outcome == 'failure' + run: | + rm -f dist/*.publish.attestation + sleep 30 + - name: Retry publish # transient sigstore/Rekor or PyPI network failures + if: steps.publish.outcome == 'failure' + uses: pypa/gh-action-pypi-publish@release/v1 + with: + skip-existing: true sbom: needs: [check, build, publish] From 9672c5ff3ba8d71449a7fe0407a041d221e1371d Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Tue, 21 Jul 2026 12:25:44 +0200 Subject: [PATCH 2/2] Queue all pending publish runs --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 307cf79..c04ddd3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,7 +15,7 @@ on: concurrency: group: ${{ github.workflow }} - cancel-in-progress: false + queue: max jobs: check: