@@ -175,10 +175,51 @@ jobs:
175175 name : test-evidence
176176 path : spar-*-test-evidence.tar.gz
177177
178+ # ── VS Code Extension ────────────────────────────────────────────────
179+ build-vsix :
180+ name : Build VS Code Extension
181+ runs-on : ubuntu-latest
182+ steps :
183+ - uses : actions/checkout@v4
184+ - uses : actions/setup-node@v4
185+ with :
186+ node-version : 20
187+ - name : Install and compile extension
188+ working-directory : vscode-spar
189+ run : npm install && npm run compile
190+ - name : Package VSIX
191+ working-directory : vscode-spar
192+ run : npx @vscode/vsce package --no-dependencies
193+ - uses : actions/upload-artifact@v4
194+ with :
195+ name : vsix
196+ path : vscode-spar/*.vsix
197+
198+ # ── Publish to VS Code Marketplace ──────────────────────────────────
199+ publish-vsix :
200+ name : Publish to Marketplace
201+ needs : [build-vsix, create-release]
202+ runs-on : ubuntu-latest
203+ if : env.VSCE_PAT != ''
204+ env :
205+ VSCE_PAT : ${{ secrets.VSCE_PAT }}
206+ steps :
207+ - uses : actions/download-artifact@v4
208+ with :
209+ name : vsix
210+ path : vsix
211+ - uses : actions/setup-node@v4
212+ with :
213+ node-version : 20
214+ - name : Publish to VS Code Marketplace
215+ run : npx @vscode/vsce publish --packagePath vsix/*.vsix
216+ env :
217+ VSCE_PAT : ${{ secrets.VSCE_PAT }}
218+
178219 # ── Create GitHub Release ─────────────────────────────────────────────
179220 create-release :
180221 name : Create GitHub Release
181- needs : [build-binaries, build-compliance, build-test-evidence]
222+ needs : [build-binaries, build-compliance, build-test-evidence, build-vsix ]
182223 runs-on : ubuntu-latest
183224 steps :
184225 - uses : actions/checkout@v4
0 commit comments