on master help sign in
Build and release VS Code extension alongside binaries
commit8a87d907630827773ddab00e5df93299cba410e8 authoriko <mail@iko.soy> dateTue 14 Apr 2026, 14:10 (6 months ago) parenta2d0f2d
1 file changed+28−8
.github/workflows/release.yml+28−8
.github/workflows/release.yml+28−8
@@ -59,9 +59,32 @@ jobs:
5959 name: ${{ matrix.lsp_name }}
6060 path: target/${{ matrix.target }}/release/htmlang-lsp${{ runner.os == 'Windows' && '.exe' || '' }}
6161
62+ vscode:
63+ name: Build VS Code extension
64+ runs-on: ubuntu-latest
65+ steps:
66+ - uses: actions/checkout@v4
67+
68+ - uses: actions/setup-node@v4
69+ with:
70+ node-version: 20
71+
72+ - name: Build extension
73+ working-directory: editors/vscode
74+ run: |
75+ npm ci
76+ npm run build
77+ npx @vscode/vsce package -o htmlang.vsix
78+
79+ - name: Upload extension
80+ uses: actions/upload-artifact@v4
81+ with:
82+ name: htmlang.vsix
83+ path: editors/vscode/htmlang.vsix
84+
6285 release:
6386 name: Create Release
64− needs: build
87+ needs: [build, vscode]
6588 runs-on: ubuntu-latest
6689 permissions:
6790 contents: write
@@ -85,15 +108,12 @@ jobs:
85108 mkdir -p release
86109 for dir in artifacts/*/; do
87110 filename=$(basename "$dir")
88− binary=$(find "$dir" -type f -executable | head -1)
89− if [ -z "$binary" ]; then
90− binary=$(find "$dir" -type f -name "*.exe" | head -1)
91− fi
92− if [ -n "$binary" ]; then
93− cp "$binary" "release/$filename"
94− chmod +x "release/$filename"
111+ file=$(find "$dir" -type f | head -1)
112+ if [ -n "$file" ]; then
113+ cp "$file" "release/$filename"
95114 fi
96115 done
116+ chmod +x release/htmlang-* 2>/dev/null || true
97117 ls -la release/
98118
99119 - name: Create Release