Repository navigation
Fix edge release getting stuck as an untagged draft - #1106
Merged
Merged
Conversation
gh release create --help: attaching assets is 3 API calls (create as draft, upload assets, publish). Sharing the build job's cancel-in-progress group meant a second push could kill the publish step mid-upload, leaving `edge` stuck as an untagged draft -- which breaks get_edge.sh's download URL. Publish now runs in its own job/group with cancel-in-progress off, so once a run reaches publish it always finishes; only builds get pre-empted by newer pushes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CbaBqrs4TbaUo7qj1dU7zp
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.
Summary
gh release createwith assets is 3 separate API calls (create as draft + tag, upload assets, publish) -- confirmed viagh release create --help. The publish step sharededge.yml's build job'scancel-in-progress: truegroup, so a second push tomainarriving mid-upload could kill the run right between "create draft" and "publish", leaving the rollingedgerelease stuck as an untagged draft. A draft release has no real git tag, soget_edge.sh's download URL 404s.buildjob (still pre-empted by newer pushes -- nothing on GitHub to leave half-done) and apublishjob (its own concurrency group,cancel-in-progressleft at its defaultfalse, so a run that reaches publish always finishes it; concurrent publishes queue instead of cancelling each other).buildnow uploads the dist artifacts;publishdownloads them before running the existing delete/create/upload sequence unchanged.Test plan
python3 -c "import yaml; yaml.safe_load(open('.github/workflows/edge.yml'))"-- valid YAMLactionlint .github/workflows/edge.yml-- no new findings (only the pre-existing, repo-wide unknown-self-hosted-runner-label warning)maintriggerbuild->publishand confirmedgerelease comes out non-draft with a real tag🤖 Generated with Claude Code
https://claude.ai/code/session_01CbaBqrs4TbaUo7qj1dU7zp