Skip to content

fix(workflows): consolidate VS extension release into release.yml#597

Merged
rajbos merged 1 commit intomainfrom
rajbos/fix-release-workflow-vs-extension
Apr 12, 2026
Merged

fix(workflows): consolidate VS extension release into release.yml#597
rajbos merged 1 commit intomainfrom
rajbos/fix-release-workflow-vs-extension

Conversation

@rajbos
Copy link
Copy Markdown
Owner

@rajbos rajbos commented Apr 11, 2026

Problem

Three separate issues were found by analyzing recent failed/skipped workflow runs:

1. release.yml silently skipped VS extension on normal workflow_dispatch (run #24292416722)

The build-visualstudio job had this condition:

if: github.event_name == 'push' || inputs.vs_only == true

On a standard workflow_dispatch with defaults, event_name is 'workflow_dispatch' (not 'push') and vs_only defaults to falsealways skipped.

The only reason the VS-only run #24292659528 worked was because vs_only=true was explicitly set.

2. visualstudio-build.yml failed with missing secret (run #24292599081)

The standalone workflow used secrets.VS_MARKETPLACE_PAT which doesn't exist. release.yml already had the right answer in a comment: secrets.VSCE_PAT # same one works for VS Marketplace.

3. Two separate release paths for the VS extension (confusing)

visualstudio-build.yml had its own vs/v* tag trigger + workflow_dispatch with marketplace publish, duplicating the build-visualstudio job in release.yml.

Changes

release.yml

  • Fix: Changed build-visualstudio job condition from github.event_name == 'push' || inputs.vs_only == trueinputs.vscode_only != true (runs for all triggers unless explicitly excluded)
  • Add: vscode_only boolean input (complement to existing vs_only) — allows releasing only the VS Code extension without triggering the Windows VS build

visualstudio-build.yml → CI-only

  • Remove vs/v* tag trigger (releases go through release.yml)
  • Remove workflow_dispatch with publish_marketplace input (releases go through release.yml)
  • Remove marketplace publish step (eliminates the broken VS_MARKETPLACE_PAT secret reference)
  • Remove github-release job (releases go through release.yml)
  • Simplify job outputs and permissions (no longer needs contents: write)

Result

Scenario Before After
workflow_dispatch normal release VS extension skipped VS extension built ✅
workflow_dispatch vs_only=true Works ✅ Works ✅
workflow_dispatch vscode_only=true No such option VS extension skipped ✅
vscode/v* tag push VS extension skipped VS extension built ✅
VS-only standalone workflow_dispatch Fails (wrong secret) ❌ Use release.yml with vs_only=true

- Fix build-visualstudio job condition: was skipping on normal workflow_dispatch
  (condition 'event_name == push || vs_only == true' evaluated false for default
  dispatch runs where vs_only defaults to false)
- Add vscode_only input to workflow_dispatch so VS Code-only releases can skip
  the VS extension build
- Remove vs/v* tag trigger from visualstudio-build.yml (releases now go through release.yml)
- Remove workflow_dispatch from visualstudio-build.yml (releases now go through release.yml)
- Remove marketplace publish step from visualstudio-build.yml (eliminates the
  VS_MARKETPLACE_PAT secret name bug; release.yml correctly uses VSCE_PAT)
- Remove github-release job from visualstudio-build.yml (releases go through release.yml)
- visualstudio-build.yml is now CI-only: build + test on PRs and branch pushes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@rajbos rajbos merged commit 4b9d5e4 into main Apr 12, 2026
19 checks passed
@rajbos rajbos deleted the rajbos/fix-release-workflow-vs-extension branch April 12, 2026 08:28
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