Skip to content

fix(ci): fork release waits for a release that another platform still creates - #381

Merged
Yarden-zamir merged 1 commit into
mainfrom
fork-fix/2026-10-27-0226-release-publish-race
Oct 27, 2026
Merged

Yarden-zamir merged 1 commit into
mainfrom
fork-fix/2026-10-27-0226-release-publish-race

Conversation

@Yarden-zamir

Copy link
Copy Markdown
Owner

Cause

Fork Release run 40437392448 for #380 failed in "Desktop Linux arm64" at "Publish to the release" with release not found. "Server checksums" then failed because the arm64 server archive was missing.

The first platform to finish creates the release with gh release create, and the other platforms add their files. gh release create keeps the release a draft while it uploads its files: here from 02:15:32 to 02:22:29. A draft cannot be found by its tag. The arm64 job published inside that window:

  1. gh release view found nothing.
  2. gh release create failed, because the release already existed.
  3. gh release upload failed with release not found.

Fix

When create fails, the step waits until gh release view finds the release, every 30 seconds and 20 minutes at most, and then uploads. A release that never appears still fails the step.

Checks

  • vp run fork:check: format, knip, doc links, migration check and adopted pull request check pass.
  • Fork Release runs the changed step after the merge. The workflow is not covered by local tests.

Fork repair skill changes

None.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 8eb1359 and 3e41bf3.

Files selected for processing: 1
  • .github/workflows/fork-release.yml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

Walkthrough

The fork release workflow now checks whether a release is visible before uploading assets. It polls up to 40 times at 30-second intervals and exits with an error if the release remains unavailable.

Changes: Fork release workflow

Layer / File(s) Summary
Wait for release visibility
.github/workflows/fork-release.yml
After release creation is skipped or fails, the workflow polls gh release view. It proceeds to asset upload when the release appears, or exits with an error after the final unsuccessful check.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: Minimal · up to 3e41b

The release workflow now waits for release visibility before uploading assets, with a bounded failure when the release never appears.

Architecture risk: Low · up to 3e41b

The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency.

Changed systems: None identified.

Architecture concerns
No architecture-level concerns identified.

Review details

Before / after behavior

  • observed — Modified behavior in .github/workflows/fork-release.yml: After release creation is skipped or fails because another platform may be creating it, the step polls gh release view up to 40 times, sleeping 30 seconds between checks. If the release remains unavailable on the final check, it exits with an error; otherwise, execution proceeds to asset upload.
Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning The description explains the cause, fix, and verification, but it omits the required Scope and approval and Review sections. It also uses different headings from the template. Add a Scope and approval section with the issue or maintainer approval, or explain why this focused bug fix qualifies without one. Add a Review section that states the review method, number of rounds, verdict, and resulting changes.
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the fix for the fork release race.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@Yarden-zamir
Yarden-zamir merged commit 16970bb into main Oct 27, 2026
21 checks passed
@Yarden-zamir
Yarden-zamir deleted the fork-fix/2026-10-27-0226-release-publish-race branch October 27, 2026 02:41
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