@@ -7,6 +7,9 @@ parameters:
7
7
type : boolean
8
8
- name : VSCODE_RUN_SMOKE_TESTS
9
9
type : boolean
10
+ - name : VSCODE_BUILD_ESM
11
+ type : boolean
12
+ default : false
10
13
11
14
steps :
12
15
- script : yarn npm-run-all -lp "electron $(VSCODE_ARCH)" "playwright-install"
@@ -17,34 +20,56 @@ steps:
17
20
18
21
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }} :
19
22
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }} :
20
- - script : ./scripts/test.sh --tfs "Unit Tests"
21
- displayName : Run unit tests (Electron)
22
- timeoutInMinutes : 15
23
-
24
- - script : yarn test-node
25
- displayName : Run unit tests (node.js)
26
- timeoutInMinutes : 15
27
-
28
- - script : yarn test-browser-no-install --sequential --browser chromium --browser webkit --tfs "Browser Unit Tests"
29
- env :
30
- DEBUG : " *browser*"
31
- displayName : Run unit tests (Browser, Chromium & Webkit)
32
- timeoutInMinutes : 30
23
+ - ${{ if eq(parameters.VSCODE_BUILD_ESM, true) }} :
24
+ - script : ./scripts/test-esm.sh --tfs "Unit Tests"
25
+ displayName : Run unit tests (Electron) [ESM]
26
+ timeoutInMinutes : 15
27
+ - script : yarn test-node-esm
28
+ displayName : Run unit tests (node.js) [ESM]
29
+ timeoutInMinutes : 15
30
+ - script : yarn test-browser-esm-no-install --sequential --browser chromium --browser webkit --tfs "Browser Unit Tests"
31
+ env :
32
+ DEBUG : " *browser*"
33
+ displayName : Run unit tests (Browser, Chromium & Webkit) [ESM]
34
+ timeoutInMinutes : 30
35
+ - ${{ if eq(parameters.VSCODE_BUILD_ESM, false) }} :
36
+ - script : ./scripts/test.sh --tfs "Unit Tests"
37
+ displayName : Run unit tests (Electron)
38
+ timeoutInMinutes : 15
39
+ - script : yarn test-node
40
+ displayName : Run unit tests (node.js)
41
+ timeoutInMinutes : 15
42
+ - script : yarn test-browser-no-install --sequential --browser chromium --browser webkit --tfs "Browser Unit Tests"
43
+ env :
44
+ DEBUG : " *browser*"
45
+ displayName : Run unit tests (Browser, Chromium & Webkit)
46
+ timeoutInMinutes : 30
33
47
34
48
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }} :
35
- - script : ./scripts/test.sh --build --tfs "Unit Tests"
36
- displayName : Run unit tests (Electron)
37
- timeoutInMinutes : 15
38
-
39
- - script : yarn test-node --build
40
- displayName : Run unit tests (node.js)
41
- timeoutInMinutes : 15
42
-
43
- - script : yarn test-browser-no-install --sequential --build --browser chromium --browser webkit --tfs "Browser Unit Tests"
44
- env :
45
- DEBUG : " *browser*"
46
- displayName : Run unit tests (Browser, Chromium & Webkit)
47
- timeoutInMinutes : 30
49
+ - ${{ if eq(parameters.VSCODE_BUILD_ESM, true) }} :
50
+ - script : ./scripts/test-esm.sh --build --tfs "Unit Tests"
51
+ displayName : Run unit tests (Electron) [ESM]
52
+ timeoutInMinutes : 15
53
+ - script : yarn test-node-esm --build
54
+ displayName : Run unit tests (node.js) [ESM]
55
+ timeoutInMinutes : 15
56
+ - script : yarn test-browser-esm-no-install --sequential --build --browser chromium --browser webkit --tfs "Browser Unit Tests"
57
+ env :
58
+ DEBUG : " *browser*"
59
+ displayName : Run unit tests (Browser, Chromium & Webkit) [ESM]
60
+ timeoutInMinutes : 30
61
+ - ${{ if eq(parameters.VSCODE_BUILD_ESM, false) }} :
62
+ - script : ./scripts/test.sh --build --tfs "Unit Tests"
63
+ displayName : Run unit tests (Electron)
64
+ timeoutInMinutes : 15
65
+ - script : yarn test-node --build
66
+ displayName : Run unit tests (node.js)
67
+ timeoutInMinutes : 15
68
+ - script : yarn test-browser-no-install --sequential --build --browser chromium --browser webkit --tfs "Browser Unit Tests"
69
+ env :
70
+ DEBUG : " *browser*"
71
+ displayName : Run unit tests (Browser, Chromium & Webkit)
72
+ timeoutInMinutes : 30
48
73
49
74
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }} :
50
75
- script : |
@@ -69,24 +94,44 @@ steps:
69
94
displayName: Build integration tests
70
95
71
96
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }} :
72
- - script : ./scripts/test-integration.sh --tfs "Integration Tests"
73
- displayName : Run integration tests (Electron)
74
- timeoutInMinutes : 20
97
+ - ${{ if eq(parameters.VSCODE_BUILD_ESM, true) }} :
98
+ - script : ./scripts/test-integration-esm.sh --tfs "Integration Tests"
99
+ displayName : Run integration tests (Electron) [ESM]
100
+ timeoutInMinutes : 20
101
+ - ${{ if eq(parameters.VSCODE_BUILD_ESM, false) }} :
102
+ - script : ./scripts/test-integration --tfs "Integration Tests"
103
+ displayName : Run integration tests (Electron)
104
+ timeoutInMinutes : 20
75
105
76
106
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }} :
77
- - script : |
78
- # Figure out the full absolute path of the product we just built
79
- # including the remote server and configure the integration tests
80
- # to run with these builds instead of running out of sources.
81
- set -e
82
- APP_ROOT="$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)"
83
- APP_NAME="`ls $APP_ROOT | head -n 1`"
84
- INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
85
- ./scripts/test-integration.sh --build --tfs "Integration Tests"
86
- env:
87
- VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-darwin-$(VSCODE_ARCH)
88
- displayName: Run integration tests (Electron)
89
- timeoutInMinutes: 20
107
+ - ${{ if eq(parameters.VSCODE_BUILD_ESM, true) }} :
108
+ - script : |
109
+ # Figure out the full absolute path of the product we just built
110
+ # including the remote server and configure the integration tests
111
+ # to run with these builds instead of running out of sources.
112
+ set -e
113
+ APP_ROOT="$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)"
114
+ APP_NAME="`ls $APP_ROOT | head -n 1`"
115
+ INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
116
+ ./scripts/test-integration-esm.sh --build --tfs "Integration Tests"
117
+ env:
118
+ VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-darwin-$(VSCODE_ARCH)
119
+ displayName: Run integration tests (Electron) [ESM]
120
+ timeoutInMinutes: 20
121
+ - ${{ if eq(parameters.VSCODE_BUILD_ESM, false) }} :
122
+ - script : |
123
+ # Figure out the full absolute path of the product we just built
124
+ # including the remote server and configure the integration tests
125
+ # to run with these builds instead of running out of sources.
126
+ set -e
127
+ APP_ROOT="$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)"
128
+ APP_NAME="`ls $APP_ROOT | head -n 1`"
129
+ INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
130
+ ./scripts/test-integration.sh --build --tfs "Integration Tests"
131
+ env:
132
+ VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-darwin-$(VSCODE_ARCH)
133
+ displayName: Run integration tests (Electron)
134
+ timeoutInMinutes: 20
90
135
91
136
- script : ./scripts/test-web-integration.sh --browser webkit
92
137
env :
0 commit comments