fix: upload release assets sequentially - #287
Merged
Merged
Conversation
The single softprops/action-gh-release step fired ~500 concurrent uploads and got the runner killed twice at the same point mid-upload. Upload one asset at a time via gh release upload with per-file retries, creating the release first if missing.
There was a problem hiding this comment.
🟢 Approval recommended
The workflow change is localized and directly addresses the runner-kill issue by removing high-concurrency uploads, with only a minor retry-loop polish suggested.
Pull request overview
This PR updates the release workflow to avoid large concurrent asset uploads (which previously caused the runner to be killed) by switching from a bulk softprops/action-gh-release upload to a sequential gh release upload loop with retries.
Changes:
- Replace the
softprops/action-gh-release@v1release step with agh-based release create/view + sequential upload script. - Add fail-fast asset discovery (glob collection + empty check) before creating/uploading a release.
- Add per-asset retry logic (3 attempts) and make the release creation idempotent on reruns.
File summaries
| File | Description |
|---|---|
| .github/workflows/main.yml | Reworks the “Create Release” step to create/reuse the release and upload assets sequentially with retries to prevent runner overload. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+1401
to
+1402
| echo "Retry $attempt/3 failed for: $f" >&2 | ||
| sleep 10 |
TheWildJames
added a commit
that referenced
this pull request
Sep 5, 2026
Addresses Copilot review on #287: only sleep between attempts, and log attempt count instead of retry count.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The single softprops/action-gh-release step fired ~500 concurrent uploads and got the runner killed twice at the same point (release job, Create Release step, shutdown signal ~35s into the upload burst, zero completions).
This replaces it with sequential gh release upload: one asset at a time, 3 tries per file, release created first if missing (safe on retried runs with a partial release).
Validation: validate_workflows.py (8 files), validate_shell.py (63 scripts), bash -n on the new step, YAML parse, git diff --check — all clean.