Skip to content

Conversation

@tiwilliam
Copy link
Owner

Make artifact names unique and adjust artifact download to resolve 409 Conflict errors during artifact upload.

The 409 Conflict error occurs when actions/upload-artifact@v4 tries to create an artifact with a name that already exists for the same workflow run, which is common in re-runs or across matrix jobs. By adding job, matrix, and run attempt to the artifact names, each upload becomes unique. The subsequent download step is updated to collect all these uniquely named artifacts.


Open in Cursor Open in Web

@cursor
Copy link

cursor bot commented Oct 19, 2025

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@tiwilliam tiwilliam marked this pull request as ready for review October 19, 2025 10:30
@tiwilliam tiwilliam merged commit 10c3a19 into main Oct 19, 2025
2 checks passed
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 110 to +113
- uses: actions/download-artifact@v4
with:
name: wheels
pattern: wheels-*-${{ github.run_attempt }}
merge-multiple: true

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Release job ignores artifacts from prior successful jobs on rerun

The new download-artifact step filters by pattern: wheels-*-${{ github.run_attempt }}. When only a subset of jobs is rerun (e.g., rerun a failed linux wheel while the windows/mac/sdist jobs remain successful), GitHub increments github.run_attempt for the rerun jobs but leaves the earlier artifacts with the previous attempt number. The release job then runs with the new attempt value and downloads only those artifacts, skipping the existing ones and producing a partial release that misses wheels for platforms that were not rerun. Consider removing the attempt suffix from the pattern or downloading both attempts so previously successful builds are still published.

Useful? React with 👍 / 👎.

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.

3 participants