Skip to content

fix(release): remove Open VSX publishing from shared promote workflows - W-24666922 - #200

Open
madhur310 wants to merge 3 commits into
mainfrom
ms/W-24666922-promote-prerelease-skip-ovsx
Open

madhur310 wants to merge 3 commits into
mainfrom
ms/W-24666922-promote-prerelease-skip-ovsx

Conversation

@madhur310

@madhur310 madhur310 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Removes the ovsx matrix leg from both vscode-promote-prerelease.yml and vscode-promote-stable.yml entirely — no toggle, straight deletion. IDEE_OVSX_PAT is no longer required by either.
  • Adds a release-tag output to vscode-promote-stable.yml (the stable tag it just created), so a caller can dispatch its own Open VSX publish for that exact tag afterward.

Context (revised from this PR's original approach)

Each of these reusable workflows has exactly one or two real callers (vscode-promote-prerelease.yml: forcedotcom/salesforcedx-vscode and forcedotcom/apex-language-support; vscode-promote-stable.yml: forcedotcom/apex-language-support only — confirmed via GitHub code search), and all of them are migrating their Open VSX publishing off these files' inline PAT-based ovsx publish onto a dedicated top-level workflow they each dispatch independently. That's required, not optional: Open VSX's trusted-publisher match keys off the OIDC token's workflow_ref claim (the run's initiating workflow), and allows exactly one trusted-publisher registration per extension — confirmed server-side in eclipse-openvsx/openvsx's TrustedPublishingService.registerTrustedPublisher. A caller whose stable release publishes Open VSX from a different top-level file than its prerelease flow would get two different workflow_ref values for the same extension, which can't both be registered.

This PR originally added a skip-ovsx input instead of deleting the leg, to avoid a cross-repo merge-order risk. Since every known caller's own migration PR is landing in this same window, we're coordinating merge order directly instead (this PR merges alongside/after each caller's compensating PR, so no default branch is ever left referencing a @main that's already dropped ovsx support before its own fix is in place) — so a permanent toggle isn't needed.

Validation

  • actionlint: identical pre-existing shellcheck notices as before this change on both files (confirmed via git stash/diff against main), zero new findings.

Test plan

  • Coordinate merge with forcedotcom/salesforcedx-vscode's and forcedotcom/apex-language-support's migration PRs
  • Confirm both publish jobs only run the vsce leg, IDEE_OVSX_PAT no longer required
  • Confirm vscode-promote-stable.yml's new release-tag output resolves correctly for a caller dispatching its own Open VSX publish

@W-24666922@

…- W-24666922

A caller migrating Open VSX publishing to OIDC trusted publishing needs its
ovsx publish step to run from the same top-level workflow file for every
release channel (Open VSX's trusted-publisher match keys off the OIDC
token's workflow_ref claim -- the run's initiating workflow -- and only
allows one trusted-publisher registration per extension). This workflow's
own inline ovsx publish, run as part of the caller's prerelease-promotion
workflow, can't share that workflow_ref with a separate stable-release
workflow.

Adds an optional skip-ovsx input (default 'false', so every existing
caller is unaffected) that lets a caller opt its ovsx leg out entirely,
e.g. because it publishes Open VSX itself via a separate trusted-publishing
dispatch instead.
…se.yml - W-24666922

Revises the previous commit's approach. A skip-ovsx toggle would have worked
but leaves the PAT-based ovsx branch as permanent dead weight once every
known caller migrates off it: vscode-promote-prerelease.yml has exactly two
real callers (forcedotcom/salesforcedx-vscode, forcedotcom/apex-language-support),
and both are moving their Open VSX publishing to a dedicated top-level
workflow dispatched independently (see the file's new header comment for
why: Open VSX's trusted-publisher match keys off workflow_ref, the run's
initiating workflow, and allows only one registration per extension, so
Open VSX publishing has to live in the same top-level file as each
caller's stable release already uses).

Removes the `ovsx` matrix leg, the skip-ovsx input, and IDEE_OVSX_PAT
entirely rather than keeping an opt-out. Both callers' own migration PRs
land in the same window as this one (coordinated merge order, not a
runtime flag), so there's no gap where a caller's default branch would
reference this file post-removal before its own compensating change is
in place.
@madhur310 madhur310 changed the title fix(release): add skip-ovsx opt-out to vscode-promote-prerelease.yml - W-24666922 fix(release): remove Open VSX publishing from vscode-promote-prerelease.yml - W-24666922 Oct 27, 2026
…ml - W-24666922

Same reasoning as the prerelease workflow's removal: this file's only real
caller (forcedotcom/apex-language-support) is migrating its Open VSX
publishing to a dedicated top-level workflow dispatched independently, for
the same trusted-publisher workflow_ref reason documented in both files'
headers.

Removes the `ovsx` matrix leg and IDEE_OVSX_PAT. Also adds a `release-tag`
output (surfaced from create-github-release's computed tag) so a caller
can dispatch its own Open VSX publish for the exact tag this run just
created, without having to recompute it.
@madhur310 madhur310 changed the title fix(release): remove Open VSX publishing from vscode-promote-prerelease.yml - W-24666922 fix(release): remove Open VSX publishing from shared promote workflows - W-24666922 Oct 27, 2026
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