Fix nuget push retry loop hanging forever on GitHub Packages - #30
Merged
Merged
Conversation
--no-symbols is a boolean switch in dotnet nuget push and takes no
value; the trailing "true" was parsed as a second package-path
argument, which doesn't exist ("error: File does not exist (true).").
Every retry in the until loop hit this same parse error, so the step
never exited and the job ran until it was cancelled.
Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Fixes CI run 33666135006, which never finished.
Why
--no-symbolsis a boolean switch indotnet nuget push— it takes no value. Thepublish to github package repositorystep had a stray trailingtrueafter it (--no-symbols true), whichdotnet nuget pushparses as a second positional package-path argument instead of a value for the flag. No file namedtrueexists, so every invocation fails with:That failure is inside
until dotnet nuget push ...; do echo "Retrying"; sleep 1; done, so instead of failing once, it retried the exact same broken command forever — the job just ran until someone cancelled it.What
Drops the stray
true, matching the already-correct form used bynupkg-validatorandassembly-rewriter's equivalent steps.Verify
Confirmed via the failed run's log: package pushes that were new succeeded ("Your package was pushed"), pushes for already-existing versions correctly hit
--skip-duplicate's "Conflict" (non-fatal) path, and the loop only ever failed on the trailingerror: File does not exist (true).— never on an actual push.Made with Cursor