Skip to content

fix(release): idempotent vsce/ovsx publish + bump vscode to 0.1.0#22

Merged
faraa2m merged 1 commit into
mainfrom
fix/vsce-ovsx-idempotent
May 10, 2026
Merged

fix(release): idempotent vsce/ovsx publish + bump vscode to 0.1.0#22
faraa2m merged 1 commit into
mainfrom
fix/vsce-ovsx-idempotent

Conversation

@faraa2m
Copy link
Copy Markdown
Owner

@faraa2m faraa2m commented May 10, 2026

Summary

Phase I completion. The v0.1.0 npm publish landed cleanly. The Marketplace publish on the manual workflow run failed because v0.0.3 of `faraa2m.tokenometer-vscode` was already on the Marketplace from a prior partial attempt — vsce returned "already exists", step exited 1, ovsx + downstream all skipped.

Changes

  1. Bump vscode 0.0.3 → 0.1.0 to match the npm package versions. Eliminates the duplicate-publish trip on this run.

  2. Idempotent vsce + ovsx steps. Wrap the publish call so:

    • Real success → exit 0
    • "already exists" / "already published" / "version exists" → log to summary, exit 0
    • Any other error → exit with original code
    • `continue-on-error: true` so a real failure doesn't bail downstream (Marketplace verify / Vercel / smoke-test).
  3. Gitignore `packages/vscode/*.vsix` — generated artifacts shouldn't be in the repo. Built fresh in CI each run.

Test plan

  • Merge → manually trigger workflow on `main` (workflow_dispatch, dry-run: false)
  • Workflow detects v0.1.0 packages already on npm → idempotent path → published=true
  • Build .vsix at v0.1.0 → publish to VS Code Marketplace (new version) → publish to Open VSX (new namespace, first publish) → Marketplace verify → Vercel hook → smoke-test

🤖 Generated with Claude Code

Two changes that unblock the v0.1.0 launch on Marketplaces:

1. vscode extension version bumped 0.0.3 → 0.1.0 to match the
   tokenometer + @tokenometer/core npm versions. The Marketplace
   already had v0.0.3 published from a prior partial run, so the new
   workflow run was hitting "already exists" on a duplicate publish.

2. vsce + ovsx publish steps now wrap the publish call in shell that:
   - Captures stdout+stderr.
   - Returns 0 if publish succeeded.
   - Returns 0 if publish failed but the error message contains
     "already exists" / "already published" / "version exists" — these
     are benign on idempotent re-runs (e.g. when Marketplace got the
     version from a previous run that failed at a later step).
   - Re-exits with the original code for any other error.
   - `continue-on-error: true` so a real failure doesn't bail the
     subsequent ovsx / Marketplace verify / Vercel / smoke-test steps.

Also gitignores `packages/vscode/*.vsix` and removes the previously
committed `tokenometer-vscode-0.0.3.vsix` — generated artifacts shouldn't
live in the repo (they're built fresh in CI).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tokenometer Ready Ready Preview, Comment May 10, 2026 6:01am

@faraa2m faraa2m merged commit 67543a9 into main May 10, 2026
7 checks passed
@faraa2m faraa2m deleted the fix/vsce-ovsx-idempotent branch May 10, 2026 06:03
faraa2m added a commit that referenced this pull request May 11, 2026
….0 (#22)

Two changes that unblock the v0.1.0 launch on Marketplaces:

1. vscode extension version bumped 0.0.3 → 0.1.0 to match the
   tokenometer + @tokenometer/core npm versions. The Marketplace
   already had v0.0.3 published from a prior partial run, so the new
   workflow run was hitting "already exists" on a duplicate publish.

2. vsce + ovsx publish steps now wrap the publish call in shell that:
   - Captures stdout+stderr.
   - Returns 0 if publish succeeded.
   - Returns 0 if publish failed but the error message contains
     "already exists" / "already published" / "version exists" — these
     are benign on idempotent re-runs (e.g. when Marketplace got the
     version from a previous run that failed at a later step).
   - Re-exits with the original code for any other error.
   - `continue-on-error: true` so a real failure doesn't bail the
     subsequent ovsx / Marketplace verify / Vercel / smoke-test steps.

Also gitignores `packages/vscode/*.vsix` and removes the previously
committed `tokenometer-vscode-0.0.3.vsix` — generated artifacts shouldn't
live in the repo (they're built fresh in CI).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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