Skip to content

fix: make the Marketplace publish step reachable - #10

Merged
w1ne merged 1 commit into
mainfrom
fix/release-publish-gate
Aug 3, 2026
Merged

w1ne merged 1 commit into
mainfrom
fix/release-publish-gate

Conversation

@w1ne

@w1ne w1ne commented Aug 2, 2026

Copy link
Copy Markdown
Owner

The release workflow could never publish.

- name: Publish to the VS Code Marketplace
  if: env.VSCE_PAT != ''     # <- evaluated without the step's env: in scope
  env:
    VSCE_PAT: ${{ secrets.VSCE_PAT }}

A step's env: block is not in scope for that same step's if:. The condition
read an undefined value, so it was always false. Tagging a release would build,
test, package, attach the .vsix, go green — and silently never reach the
Marketplace, even with the secret set correctly.

  • Move VSCE_PAT to job scope so the guard can see it.
  • Add an explicit warning on the skip path, so "no credential" stops looking
    identical to "published".

Verified locally on this commit: npm ci, npm run compile, npm run test:unit
(14 passing), and vsce package -> 217 KB, 73 files, out/extension.js present.
Both workflows still parse.

The publish step guarded on `env.VSCE_PAT` while defining VSCE_PAT in its own
`env:` block. A step's `env:` is not in scope for that same step's `if:`, so the
condition read an undefined value and was always false: tagging a release built
and attached the .vsix, reported success, and never published.

Move the secret to job scope so the guard sees it, and emit a warning on the
skip path — a silent skip is indistinguishable from a successful publish.
@w1ne
w1ne merged commit f8c0adf into main Aug 3, 2026
2 checks passed
@w1ne
w1ne deleted the fix/release-publish-gate branch August 3, 2026 10:05
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