From 8ac99bbfed3a0c6a85c18d5f2091a36e85bd978b Mon Sep 17 00:00:00 2001 From: "U:Bodigat" <89653017+ubodigat@users.noreply.github.com> Date: Sat, 29 Nov 2025 09:06:15 +0100 Subject: [PATCH] Update GitHub Actions workflow for VS Code extension --- .github/workflows/publish.yml | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 964f841..13114af 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,21 +1,26 @@ name: Publish VS Code Extension on: + release: + types: [published] + workflow_dispatch: permissions: - contents: write + contents: read jobs: build: name: Build & Package VSIX runs-on: ubuntu-latest + permissions: + contents: read steps: - name: Checkout repository uses: actions/checkout@v4 - - name: Install Node.js + - name: Use Node.js 20 uses: actions/setup-node@v4 with: node-version: 20 @@ -26,11 +31,11 @@ jobs: - name: Compile TypeScript run: npm run compile - - name: Install vsce + - name: Install vsce CLI run: npm install -g @vscode/vsce - name: Create VSIX package - run: vsce package + run: vsce package --no-yarn - name: Upload VSIX artifact uses: actions/upload-artifact@v4 @@ -38,12 +43,13 @@ jobs: name: extension path: "*.vsix" - release: + attach-release: name: Attach VSIX to GitHub Release needs: build runs-on: ubuntu-latest permissions: contents: write + if: github.event_name == 'release' steps: - name: Download VSIX artifact @@ -51,8 +57,8 @@ jobs: with: name: extension - - name: Create GitHub Release - uses: softprops/action-gh-release@v1 + - name: Upload VSIX to GitHub Release + uses: softprops/action-gh-release@v2 with: files: "*.vsix" env: @@ -60,16 +66,21 @@ jobs: publish: name: Publish to VS Code Marketplace - needs: release + needs: build runs-on: ubuntu-latest + permissions: + contents: read steps: - - name: Install Node.js + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Use Node.js 20 uses: actions/setup-node@v4 with: node-version: 20 - - name: Install vsce + - name: Install vsce CLI run: npm install -g @vscode/vsce - name: Download VSIX artifact @@ -77,7 +88,7 @@ jobs: with: name: extension - - name: Publish to VSCode Marketplace + - name: Publish to VS Code Marketplace run: vsce publish --packagePath *.vsix env: VSCE_PAT: ${{ secrets.VSCE_PAT }}