feat(release): VSIX on GitHub Release + actually publish to Marketplace#163
Merged
feat(release): VSIX on GitHub Release + actually publish to Marketplace#163
Conversation
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Rivet Criterion Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 26358c8 | Previous: d143663 | Ratio |
|---|---|---|---|
validate/10000 |
11978633 ns/iter (± 1072855) |
9752049 ns/iter (± 334330) |
1.23 |
This comment was automatically generated by workflow using github-action-benchmark.
1dd126c to
765ef32
Compare
Two related bugs in the VS Code extension release flow: 1. **VSIX wasn't attached to the GitHub Release.** The `build-vsix` job in ci.yml ran on tag push and uploaded the VSIX as a workflow artifact only — users couldn't download it from the Release page, they had to dig through the Actions tab. 2. **`publish-vsix` never actually ran on Marketplace.** It was gated on `needs: [build-vsix, release-results]`, but `release-results` doesn't exist as a job in ci.yml (it lives in release.yml, a separate workflow — GitHub Actions workflows can't depend on each other's jobs). Result: the Marketplace publish job was never scheduled on any tag, which is why only the spar extension currently appears on the Marketplace — rivet's has never actually shipped. **Fix:** move both jobs into release.yml where they belong, wire them into the existing tag-triggered pipeline: - `build-vsix` → runs alongside `build-binaries` - `create-release` → now depends on build-vsix too, and globs `*.vsix` in the asset collection step so the VSIX attaches to the Release - `publish-vsix-marketplace` → runs after create-release so the VSIX is guaranteed on the Release page even if Marketplace publish fails. Now prints a `::warning::` if VSCE_PAT is unset instead of silently skipping, which is what hid the "extension isn't on Marketplace" bug in the first place. Also bumps `vscode-rivet/package.json` version from 0.3.0 → 0.4.0 so the next released extension matches the workspace version. **Follow-up for the user:** configure the VSCE_PAT secret in the rivet repo settings (Azure DevOps PAT with Marketplace > Manage scope). Without it the warning will continue to fire on every release until configured. Trace: skip
765ef32 to
26358c8
Compare
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.
Two bugs in the VS Code extension release flow
Bug 1 — VSIX wasn't on the GitHub Release page
`build-vsix` in ci.yml uploaded the VSIX as a workflow artifact only. Users who wanted to sideload the extension had to dig through the Actions tab. Should be on the Release page with the binaries.
Bug 2 — Marketplace publish never actually ran
`publish-vsix` was gated on `needs: [build-vsix, release-results]`. `release-results` doesn't exist as a job in ci.yml — it lives in release.yml, a separate workflow. GitHub Actions can't express cross-workflow job dependencies, so the publish job was never scheduled on any tag. This is why only the spar extension currently appears on the VS Code Marketplace — rivet's has never actually shipped, despite the YAML pretending to publish.
Fix
Move both jobs to `release.yml` where they belong:
Also bumps `vscode-rivet/package.json` 0.3.0 → 0.4.0 to match the workspace.
Post-merge checklist for the repo admin
Test plan
🤖 Generated with Claude Code