fix: retry vsce/ovsx publish on marketplace timeout - W-24209833 - #184
Conversation
Gallery /_apis/gallery requests time out at 180s with no vsce flag. Retry each VSIX 3 times so a hang does not fail the whole publish job.
| PRE_RELEASE_FLAG: ${{ inputs.pre-release && '--pre-release' || '' }} | ||
| run: | | ||
| cd "$EXTENSION" | ||
| npx vsce publish $PRE_RELEASE_FLAG |
There was a problem hiding this comment.
This would need -skip-duplicate flag now right?
There was a problem hiding this comment.
I don't think so? It didn't before this PR, either, right?
There was a problem hiding this comment.
but probably should now
There was a problem hiding this comment.
Added --skip-duplicate on both vsce and ovsx in this path.
There was a problem hiding this comment.
If a vscode-release-explicit.yml run failed because the marketplace call hung/timed out but had actually gone through server-side, and someone manually reran that job, the rerun would already hit "version already exists" — same root cause, same missing flag. This PR didn't introduce that gap; it's been there as long as this workflow has lacked --skip-duplicate
| exit 1 | ||
| fi | ||
|
|
||
| publish_with_retry() { |
There was a problem hiding this comment.
Why not use salesforcecli/github-workflows/.github/actions/retry@main?
There was a problem hiding this comment.
it's meant for running a command. Wasn't quite sure how to get it inside a giant bash script without redoing the whole thing (prerelease calc, etc) since those are part of the giant script instead of gha workflow steps
There was a problem hiding this comment.
Yeah not a fan of big bash either, we can leave this in for now.
What issues does this PR fix or reference?
@W-24209833@
Summary
--skip-duplicatekeeps retries idempotent if the gallery committed after the client diedTest plan
/_apis/gallerypublish retries instead of failing the job