Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,12 @@ jobs:
- uses: actions/download-artifact@v8
with:
name: fallout-vsix
# The publish CLIs are dev dependencies, and IHasVsix.ResolveNodeTool looks for
# them in node_modules/.bin before PATH. --skip PackVsix below prunes the whole
# upstream chain — RestoreVsix ("npm ci") included, since nothing else needs it —
# so without this the tools are simply absent and PublishVsix dies resolving them.
- name: 'Install the Node toolchain'
run: npm ci
# --skip PackVsix publishes the exact artifact that was packed and validated,
# rather than rebuilding it here and publishing bits nothing has seen.
- name: 'Fallout build (PublishVsix → vs-marketplace)'
Expand Down Expand Up @@ -247,6 +253,12 @@ jobs:
- uses: actions/download-artifact@v8
with:
name: fallout-vsix
# The publish CLIs are dev dependencies, and IHasVsix.ResolveNodeTool looks for
# them in node_modules/.bin before PATH. --skip PackVsix below prunes the whole
# upstream chain — RestoreVsix ("npm ci") included, since nothing else needs it —
# so without this the tools are simply absent and PublishVsix dies resolving them.
- name: 'Install the Node toolchain'
run: npm ci
- name: 'Fallout build (PublishVsix → open-vsx)'
run: ./build.sh PublishVsix --publish-vsix-to open-vsx --skip PackVsix
env:
Expand Down
1 change: 1 addition & 0 deletions docs/ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,4 @@ To run the extension itself rather than the build, see [developing.md](developin
- **`PublicRelease: true`** is set on any job that checks out a tag. A detached HEAD matches none of `version.json`'s branch refspecs, so without it Nerdbank.GitVersioning appends a git-height suffix and the marketplace version stops being a clean triple.
- **`fetch-depth: 0`** is required wherever the version is computed — NB.GV needs full history.
- **Boolean workflow inputs arrive as strings** from the REST API, and therefore from `gh workflow run`. Conditions compare against both `true` and `'true'`; a bare `== true` silently skips while reporting success.
- **`--skip PackVsix` prunes the whole upstream chain**, `RestoreVsix` included — nothing else needs it, so Fallout skips it too. The promotion jobs therefore install the Node toolchain themselves: `vsce` and `ovsx` are dev dependencies, and `IHasVsix.ResolveNodeTool` looks in `node_modules/.bin` before `PATH`. Without that step `PublishVsix` fails resolving its tools before it reaches a registry — which is exactly how the first promotion of v10.4.31 failed.
Loading