Skip to content

Commit be7c591

Browse files
ci: add CI job for VS Code extension (#444)
* ci: add CI job for VS Code extension Add .github/workflows/vscode-ext.yml to validate the VS Code extension (extensions/vscode/) on every push/PR that touches that directory. The workflow runs on the self-hosted node:24 container (matching the existing CI conventions) and executes: - yarn install --frozen-lockfile (lockfile integrity) - yarn lint (ESLint) - yarn compile (TypeScript + webpack dev build) - yarn test (Jest, all 10 test suites) Path filter (extensions/vscode/**) ensures Go-only changes do not trigger this job. No vsce package step — packaging is a release concern. Fixes the gap identified in #441: dependency PRs from dependabot (#437) will now receive real build and test signal before merging. Closes #441 * ci: pin node image version and add yarn dependency caching - Pin node container image to node:24.0.0 for reproducible builds - Add actions/setup-node@v4 with yarn cache for extensions/vscode/yarn.lock to speed up CI workflow runs * ci: use node:24 image container tag * ci: pin node version to 24.4.1 * ci: use actions/cache@v4 for yarn package caching * ci: remove redundant push trigger on main
1 parent 484b513 commit be7c591

1 file changed

Lines changed: 50 additions & 0 deletions

File tree

.github/workflows/vscode-ext.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: VS Code Extension
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
paths:
7+
- 'extensions/vscode/**'
8+
9+
permissions:
10+
contents: read
11+
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
14+
cancel-in-progress: true
15+
16+
jobs:
17+
check:
18+
runs-on: self-hosted
19+
timeout-minutes: 10
20+
container:
21+
image: node:24.4.1
22+
defaults:
23+
run:
24+
working-directory: extensions/vscode
25+
steps:
26+
- uses: actions/checkout@v4
27+
28+
- name: Trust workspace
29+
run: git config --global --replace-all safe.directory '*'
30+
working-directory: .
31+
32+
- name: Cache Yarn packages
33+
uses: actions/cache@v4
34+
with:
35+
path: ~/.cache/yarn
36+
key: ${{ runner.os }}-yarn-${{ hashFiles('extensions/vscode/yarn.lock') }}
37+
restore-keys: |
38+
${{ runner.os }}-yarn-
39+
40+
- name: Install dependencies
41+
run: yarn install --frozen-lockfile
42+
43+
- name: Lint
44+
run: yarn lint
45+
46+
- name: Compile
47+
run: yarn compile
48+
49+
- name: Test
50+
run: yarn test

0 commit comments

Comments
 (0)