Skip to content

fix(release): make Marketplace / Open VSX publish idempotent#126

Merged
MelbourneDeveloper merged 1 commit into
mainfrom
fix/release-publish-idempotent
Jun 27, 2026
Merged

fix(release): make Marketplace / Open VSX publish idempotent#126
MelbourneDeveloper merged 1 commit into
mainfrom
fix/release-publish-idempotent

Conversation

@MelbourneDeveloper

Copy link
Copy Markdown
Collaborator

TLDR

Make the release publish loops tolerant of an already-published platform so a transient gallery timeout no longer leaves the release un-completable.

Details

A transient VS Code Marketplace gallery API timeout (seen on the v0.10.1 release) can leave some platform VSIXes already published. The publish loops used set -e + unconditional vsce/ovsx publish, so every re-run died on the first platform with ... already exists, making a partial publish impossible to finish. Both the vsce (Marketplace) and ovsx (Open VSX) loops now treat an already-published platform as a skip and continue, failing only on genuine errors, and report published/skipped counts.

How Do The Automated Tests Prove It Works?

This changes only release-time publish steps (no app/test code). Validated locally: release.yml parses as valid YAML and both modified run: scripts pass bash -n syntax checks. The publish jobs run only on v* tags, so behavior is exercised on the next tagged release.

A transient VS Marketplace gallery timeout can leave some platform VSIXes
already published; the publish loop then died on the first 'already exists'
on every re-run, so a partial publish could never be completed. Treat an
already-published platform as a skip and continue, failing only on real
errors. Applies to both the vsce (Marketplace) and ovsx (Open VSX) loops.
@MelbourneDeveloper MelbourneDeveloper merged commit 5687d23 into main Jun 27, 2026
12 checks passed
@MelbourneDeveloper MelbourneDeveloper deleted the fix/release-publish-idempotent branch June 27, 2026 07:21
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