Skip to content

Commit a4e751e

Browse files
committed
Simplify & add E2E in CI job
1 parent a0e35f1 commit a4e751e

5 files changed

Lines changed: 38 additions & 4 deletions

File tree

.github/workflows/ci.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,30 @@ jobs:
3131
- name: Check formatting
3232
run: yarn format:check
3333

34+
e2e:
35+
runs-on: ubuntu-latest
36+
name: E2E tests
37+
steps:
38+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39+
with:
40+
submodules: true
41+
42+
- name: Setup Node.js
43+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
44+
with:
45+
node-version: 20
46+
cache: "yarn"
47+
cache-dependency-path: "yarn.lock"
48+
49+
- name: Install the packages
50+
run: yarn install --frozen-lockfile --ignore-engines
51+
52+
- name: Build the code
53+
run: yarn build
54+
55+
- name: Run the E2E tests
56+
run: yarn test:e2e
57+
3458
tests:
3559
runs-on: ${{ matrix.os }}
3660
timeout-minutes: 30

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"postrelease": "yarn --cwd packages/prettier-plugin-liquid prerelease",
3636
"reset": "find . -name \"node_modules\" -type d -prune -exec rm -rf '{}' +",
3737
"test": "vitest",
38+
"test:e2e": "yarn test:e2e:browser",
3839
"test:e2e:browser": "yarn --cwd packages/vscode-extension test:web",
3940
"theme-check": "node packages/theme-check-node/dist/cli.js",
4041
"type-check": "yarn workspaces run type-check"

packages/vscode-extension/package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,9 @@
5454
"test": "vitest",
5555
"pretest:web": "[ -d .tmp/dawn ] || git clone --depth 1 https://github.com/Shopify/dawn.git .tmp/dawn",
5656
"build:test": "webpack --config webpack.test.config.js --mode development",
57-
"build:test:debug": "WATCH_MODE=1 DEBUG_DELAY=10000 webpack --config webpack.test.config.js --mode development",
5857
"build:test:watch": "WATCH_MODE=1 webpack --config webpack.test.config.js --mode development --watch",
59-
"test:web": "yarn build && yarn build:test && vscode-test-web --browserType=chromium --headless --extensionDevelopmentPath=. --extensionTestsPath=./dist/browser/test/suite/index.js .tmp/dawn",
60-
"test:web:debug": "vscode-test-web --browserType=chromium --extensionDevelopmentPath=. --extensionTestsPath=./dist/browser/test/suite/index.js .tmp/dawn",
58+
"test:web": "yarn build:test && vscode-test-web --headless --extensionDevelopmentPath=. --extensionTestsPath=./dist/browser/test/suite/index.js .tmp/dawn",
59+
"test:web:watch": "vscode-test-web --open-devtools --extensionDevelopmentPath=. --extensionTestsPath=./dist/browser/test/suite/index.js .tmp/dawn",
6160
"type-check:test": "tsc --project test/tsconfig.json --noEmit",
6261
"type-check": "tsc --noEmit"
6362
},

packages/vscode-extension/test/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@ yarn test:web
3737
yarn build:test
3838
```
3939

40+
## Watch mode
41+
42+
```
43+
# terminal 1
44+
yarn build:test:watch
45+
46+
# terminal 2 (refresh for changes, no hmr)
47+
yarn test:web:watch
48+
```
49+
4050
## Adding Tests
4151

4252
### Browser Tests

packages/vscode-extension/test/browser/suite/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ require('mocha/mocha');
33

44
export async function run(): Promise<void> {
55
// Debug delay: allows attaching debugger before tests run
6-
const delay = process.env.DEBUG_DELAY ? parseInt(process.env.DEBUG_DELAY, 10) : 0;
6+
const delay = process.env.WATCH_MODE ? 5000 : 0;
77
if (delay > 0) {
88
console.log(`[DEBUG] Waiting ${delay}ms for debugger attachment...`);
99
await new Promise((r) => setTimeout(r, delay));

0 commit comments

Comments
 (0)