name: Publish VS Code Extension on: push: tags: - 'v*' permissions: contents: write jobs: publish: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: Install dependencies run: npm ci - name: Package extension run: | npm run vscode:prepublish npx @vscode/vsce package - name: Publish to marketplace run: npx @vscode/vsce publish --pat ${{ secrets.VCSE_PAT }} - name: Create GitHub Release uses: softprops/action-gh-release@v1 with: files: "*.vsix" tag_name: ${{ github.ref_name }} name: Release ${{ github.ref_name }} generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}