From 76a598334c3f3c9ffdac67df16a57cc4e412b34c Mon Sep 17 00:00:00 2001 From: Greyson Lalonde Date: Fri, 8 May 2026 02:12:03 +0800 Subject: [PATCH] fix(ci): make nightly publish idempotent and serialized --- .github/workflows/nightly.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 4e9b0c69e..d5879c8e3 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -5,6 +5,10 @@ on: - cron: '0 6 * * *' # daily at 6am UTC workflow_dispatch: +concurrency: + group: nightly-publish + cancel-in-progress: false + jobs: check: name: Check for new commits @@ -94,13 +98,10 @@ jobs: runs-on: ubuntu-latest environment: name: pypi - url: https://pypi.org/p/crewai permissions: id-token: write contents: read steps: - - uses: actions/checkout@v4 - - name: Install uv uses: astral-sh/setup-uv@v6 with: @@ -125,7 +126,8 @@ jobs: continue fi echo "Publishing $package" - if ! uv publish "$package"; then + # --check-url skips files already on PyPI so manual re-runs on the same day are idempotent. + if ! uv publish --check-url https://pypi.org/simple/ "$package"; then echo "Failed to publish $package" failed=1 fi