Skip to content

Commit 51bf837

Browse files
committed
internal: add ci for vscode extension
1 parent f4b4aa9 commit 51bf837

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

.github/workflows/vscode.yml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
name: VSCode
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
tags:
8+
- "**"
9+
pull_request:
10+
11+
jobs:
12+
pre_job:
13+
runs-on: ubuntu-latest
14+
outputs:
15+
should_skip: ${{ steps.skip_check.outputs.should_skip }}
16+
paths_result: ${{ steps.skip_check.outputs.paths_result }}
17+
steps:
18+
- id: skip_check
19+
uses: fkirc/skip-duplicate-actions@c449d86cf33a2a6c7a4193264cc2578e2c3266d4 # pin@v4
20+
with:
21+
paths: '["squawk-vscode/**"]'
22+
23+
typecheck:
24+
needs: pre_job
25+
if: needs.pre_job.outputs.should_skip != 'true'
26+
27+
runs-on: ubuntu-latest
28+
steps:
29+
- uses: actions/checkout@v4
30+
- name: Setup pnpm
31+
uses: pnpm/action-setup@v2
32+
with:
33+
version: 8
34+
- name: Setup node
35+
uses: actions/setup-node@v3
36+
with:
37+
node-version-file: "squawk-vscode/package.json"
38+
cache-dependency-path: "squawk-vscode/pnpm-lock.yaml"
39+
cache: "pnpm"
40+
- name: Install JS dependencies
41+
working-directory: "squawk-vscode"
42+
run: pnpm install
43+
44+
- name: Run type check
45+
working-directory: "squawk-vscode"
46+
run: pnpm run check-types
47+
48+
lint:
49+
needs: pre_job
50+
if: needs.pre_job.outputs.should_skip != 'true'
51+
52+
runs-on: ubuntu-latest
53+
steps:
54+
- uses: actions/checkout@v4
55+
- name: Setup pnpm
56+
uses: pnpm/action-setup@v2
57+
with:
58+
version: 8
59+
- name: Setup node
60+
uses: actions/setup-node@v3
61+
with:
62+
node-version-file: "squawk-vscode/package.json"
63+
cache-dependency-path: "squawk-vscode/pnpm-lock.yaml"
64+
cache: "pnpm"
65+
- name: Install JS dependencies
66+
working-directory: "squawk-vscode"
67+
run: pnpm install
68+
69+
- name: Run lints
70+
working-directory: "squawk-vscode"
71+
run: pnpm run lint
72+
73+
test:
74+
needs: pre_job
75+
if: needs.pre_job.outputs.should_skip != 'true'
76+
77+
runs-on: ubuntu-latest
78+
steps:
79+
- uses: actions/checkout@v4
80+
- name: Setup pnpm
81+
uses: pnpm/action-setup@v2
82+
with:
83+
version: 8
84+
- name: Setup node
85+
uses: actions/setup-node@v3
86+
with:
87+
node-version-file: "squawk-vscode/package.json"
88+
cache-dependency-path: "squawk-vscode/pnpm-lock.yaml"
89+
cache: "pnpm"
90+
- name: Install JS dependencies
91+
working-directory: "squawk-vscode"
92+
run: pnpm install
93+
94+
- name: Run tests
95+
working-directory: "squawk-vscode"
96+
run: pnpm run test

0 commit comments

Comments
 (0)