Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/build/azure-pipelines/product-build.yml
5359 views
1
pr: none
2
3
schedules:
4
- cron: "0 5 * * Mon-Fri"
5
displayName: Mon-Fri at 7:00
6
branches:
7
include:
8
- main
9
- cron: "0 17 * * Mon-Fri"
10
displayName: Mon-Fri at 19:00
11
branches:
12
include:
13
- main
14
15
trigger:
16
batch: true
17
branches:
18
include: ["main", "release/*"]
19
20
parameters:
21
- name: VSCODE_QUALITY
22
displayName: Quality
23
type: string
24
default: insider
25
values:
26
- exploration
27
- insider
28
- stable
29
- name: NPM_REGISTRY
30
displayName: "Custom NPM Registry"
31
type: string
32
default: 'https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/npm/registry/'
33
- name: CARGO_REGISTRY
34
displayName: "Custom Cargo Registry"
35
type: string
36
default: 'sparse+https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/Cargo/index/'
37
- name: VSCODE_BUILD_WIN32
38
displayName: "🎯 Windows x64"
39
type: boolean
40
default: true
41
- name: VSCODE_BUILD_WIN32_ARM64
42
displayName: "🎯 Windows arm64"
43
type: boolean
44
default: true
45
- name: VSCODE_BUILD_LINUX
46
displayName: "🎯 Linux x64"
47
type: boolean
48
default: true
49
- name: VSCODE_BUILD_LINUX_SNAP
50
displayName: "🎯 Linux x64 Snap"
51
type: boolean
52
default: true
53
- name: VSCODE_BUILD_LINUX_ARM64
54
displayName: "🎯 Linux arm64"
55
type: boolean
56
default: true
57
- name: VSCODE_BUILD_LINUX_ARMHF
58
displayName: "🎯 Linux armhf"
59
type: boolean
60
default: true
61
- name: VSCODE_BUILD_ALPINE
62
displayName: "🎯 Alpine x64"
63
type: boolean
64
default: true
65
- name: VSCODE_BUILD_ALPINE_ARM64
66
displayName: "🎯 Alpine arm64"
67
type: boolean
68
default: true
69
- name: VSCODE_BUILD_MACOS
70
displayName: "🎯 macOS x64"
71
type: boolean
72
default: true
73
- name: VSCODE_BUILD_MACOS_ARM64
74
displayName: "🎯 macOS arm64"
75
type: boolean
76
default: true
77
- name: VSCODE_BUILD_MACOS_UNIVERSAL
78
displayName: "🎯 macOS universal"
79
type: boolean
80
default: true
81
- name: VSCODE_BUILD_WEB
82
displayName: "🎯 Web"
83
type: boolean
84
default: true
85
- name: VSCODE_PUBLISH
86
displayName: "Publish to builds.code.visualstudio.com"
87
type: boolean
88
default: true
89
- name: VSCODE_RELEASE
90
displayName: "Release build if successful"
91
type: boolean
92
default: false
93
- name: VSCODE_COMPILE_ONLY
94
displayName: "Run Compile stage exclusively"
95
type: boolean
96
default: false
97
- name: VSCODE_STEP_ON_IT
98
displayName: "Skip tests"
99
type: boolean
100
default: false
101
102
variables:
103
- name: VSCODE_PRIVATE_BUILD
104
value: ${{ ne(variables['Build.Repository.Uri'], 'https://github.com/microsoft/vscode.git') }}
105
- name: NPM_REGISTRY
106
value: ${{ parameters.NPM_REGISTRY }}
107
- name: CARGO_REGISTRY
108
value: ${{ parameters.CARGO_REGISTRY }}
109
- name: VSCODE_QUALITY
110
value: ${{ parameters.VSCODE_QUALITY }}
111
- name: VSCODE_BUILD_STAGE_WINDOWS
112
value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}
113
- name: VSCODE_BUILD_STAGE_LINUX
114
value: ${{ or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_SNAP, true), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}
115
- name: VSCODE_BUILD_STAGE_ALPINE
116
value: ${{ or(eq(parameters.VSCODE_BUILD_ALPINE, true), eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true)) }}
117
- name: VSCODE_BUILD_STAGE_MACOS
118
value: ${{ or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}
119
- name: VSCODE_BUILD_STAGE_WEB
120
value: ${{ eq(parameters.VSCODE_BUILD_WEB, true) }}
121
- name: VSCODE_CIBUILD
122
value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
123
- name: VSCODE_PUBLISH
124
value: ${{ and(eq(parameters.VSCODE_PUBLISH, true), eq(variables.VSCODE_CIBUILD, false), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}
125
- name: VSCODE_SCHEDULEDBUILD
126
value: ${{ eq(variables['Build.Reason'], 'Schedule') }}
127
- name: VSCODE_STEP_ON_IT
128
value: ${{ eq(parameters.VSCODE_STEP_ON_IT, true) }}
129
- name: VSCODE_BUILD_MACOS_UNIVERSAL
130
value: ${{ and(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true), eq(parameters.VSCODE_BUILD_MACOS_UNIVERSAL, true)) }}
131
- name: VSCODE_STAGING_BLOB_STORAGE_ACCOUNT_NAME
132
value: vscodeesrp
133
- name: PRSS_CDN_URL
134
value: https://vscode.download.prss.microsoft.com/dbazure/download
135
- name: VSCODE_ESRP_SERVICE_CONNECTION_ID
136
value: fe07e6ce-6ffb-4df9-8d27-d129523a3f3e
137
- name: VSCODE_ESRP_TENANT_ID
138
value: 975f013f-7f24-47e8-a7d3-abc4752bf346
139
- name: VSCODE_ESRP_CLIENT_ID
140
value: 4ac7ed59-b5e9-4f66-9c30-8d1afa72d32d
141
- name: ESRP_TENANT_ID
142
value: 975f013f-7f24-47e8-a7d3-abc4752bf346
143
- name: ESRP_CLIENT_ID
144
value: c24324f7-e65f-4c45-8702-ed2d4c35df99
145
- name: AZURE_DOCUMENTDB_ENDPOINT
146
value: https://vscode.documents.azure.com/
147
- name: VSCODE_MIXIN_REPO
148
value: microsoft/vscode-distro
149
- name: skipComponentGovernanceDetection
150
value: true
151
- name: ComponentDetection.Timeout
152
value: 600
153
- name: Codeql.SkipTaskAutoInjection
154
value: true
155
- name: ARTIFACT_PREFIX
156
value: ''
157
158
name: "$(Date:yyyyMMdd).$(Rev:r) (${{ parameters.VSCODE_QUALITY }})"
159
160
resources:
161
repositories:
162
- repository: 1esPipelines
163
type: git
164
name: 1ESPipelineTemplates/1ESPipelineTemplates
165
ref: refs/tags/release
166
167
extends:
168
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
169
parameters:
170
sdl:
171
tsa:
172
enabled: true
173
configFile: $(Build.SourcesDirectory)/build/azure-pipelines/config/tsaoptions.json
174
binskim:
175
analyzeTargetGlob: '+:file|$(Agent.BuildDirectory)/VSCode-*/**/*.exe;+:file|$(Agent.BuildDirectory)/VSCode-*/**/*.dll;+:file|$(Agent.BuildDirectory)/VSCode-*/**/*.node;-:file|$(Agent.BuildDirectory)/VSCode-*/**/resources/**/*.node;-:file|$(Build.SourcesDirectory)/.build/**/system-setup/VSCodeSetup*.exe;-:file|$(Build.SourcesDirectory)/.build/**/user-setup/VSCodeUserSetup*.exe'
176
codeql:
177
runSourceLanguagesInSourceAnalysis: true
178
compiled:
179
enabled: false
180
justificationForDisabling: "CodeQL breaks ESRP CodeSign on macOS (ICM #520035761, githubcustomers/microsoft-codeql-support#198)"
181
credscan:
182
suppressionsFile: $(Build.SourcesDirectory)/build/azure-pipelines/config/CredScanSuppressions.json
183
eslint:
184
enabled: true
185
enableExclusions: true
186
exclusionsFilePath: $(Build.SourcesDirectory)/.eslint-ignore
187
sourceAnalysisPool: 1es-windows-2022-x64
188
createAdoIssuesForJustificationsForDisablement: false
189
containers:
190
ubuntu-2004-arm64:
191
image: onebranch.azurecr.io/linux/ubuntu-2004-arm64:latest
192
stages:
193
- stage: Compile
194
pool:
195
name: AcesShared
196
os: macOS
197
demands:
198
- ImageOverride -equals ACES_VM_SharedPool_Sequoia
199
jobs:
200
- template: build/azure-pipelines/product-compile.yml@self
201
202
- ${{ if eq(variables['VSCODE_PUBLISH'], 'true') }}:
203
- stage: ValidationChecks
204
dependsOn: []
205
pool:
206
name: 1es-ubuntu-22.04-x64
207
os: linux
208
jobs:
209
- template: build/azure-pipelines/product-validation-checks.yml@self
210
211
- ${{ if or(eq(parameters.VSCODE_BUILD_LINUX, true),eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true),eq(parameters.VSCODE_BUILD_LINUX_ARM64, true),eq(parameters.VSCODE_BUILD_MACOS, true),eq(parameters.VSCODE_BUILD_MACOS_ARM64, true),eq(parameters.VSCODE_BUILD_WIN32, true),eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
212
- stage: CompileCLI
213
dependsOn: []
214
jobs:
215
- ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}:
216
- template: build/azure-pipelines/win32/product-build-win32-cli.yml@self
217
parameters:
218
VSCODE_ARCH: x64
219
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
220
VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}
221
222
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
223
- template: build/azure-pipelines/win32/product-build-win32-cli.yml@self
224
parameters:
225
VSCODE_ARCH: arm64
226
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
227
228
- ${{ if eq(parameters.VSCODE_BUILD_LINUX, true) }}:
229
- template: build/azure-pipelines/linux/product-build-linux-cli.yml@self
230
parameters:
231
VSCODE_ARCH: x64
232
VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}
233
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
234
235
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
236
- template: build/azure-pipelines/linux/product-build-linux-cli.yml@self
237
parameters:
238
VSCODE_ARCH: arm64
239
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
240
241
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:
242
- template: build/azure-pipelines/linux/product-build-linux-cli.yml@self
243
parameters:
244
VSCODE_ARCH: armhf
245
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
246
247
- ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
248
- template: build/azure-pipelines/darwin/product-build-darwin-cli.yml@self
249
parameters:
250
VSCODE_ARCH: x64
251
VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}
252
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
253
254
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
255
- template: build/azure-pipelines/darwin/product-build-darwin-cli.yml@self
256
parameters:
257
VSCODE_ARCH: arm64
258
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
259
260
- ${{ if and(eq(variables['VSCODE_CIBUILD'], true), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}:
261
- stage: node_modules
262
dependsOn: []
263
jobs:
264
- template: build/azure-pipelines/win32/product-build-win32-node-modules.yml@self
265
parameters:
266
VSCODE_ARCH: arm64
267
- template: build/azure-pipelines/linux/product-build-linux-node-modules.yml@self
268
parameters:
269
NPM_ARCH: arm64
270
VSCODE_ARCH: arm64
271
- template: build/azure-pipelines/linux/product-build-linux-node-modules.yml@self
272
parameters:
273
NPM_ARCH: arm
274
VSCODE_ARCH: armhf
275
- template: build/azure-pipelines/alpine/product-build-alpine-node-modules.yml@self
276
parameters:
277
VSCODE_ARCH: x64
278
- template: build/azure-pipelines/alpine/product-build-alpine-node-modules.yml@self
279
parameters:
280
VSCODE_ARCH: arm64
281
- template: build/azure-pipelines/darwin/product-build-darwin-node-modules.yml@self
282
parameters:
283
VSCODE_ARCH: x64
284
- template: build/azure-pipelines/web/product-build-web-node-modules.yml@self
285
286
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}:
287
- stage: APIScan
288
dependsOn: []
289
pool:
290
name: 1es-windows-2022-x64
291
os: windows
292
jobs:
293
- job: WindowsAPIScan
294
steps:
295
- template: build/azure-pipelines/win32/sdl-scan-win32.yml@self
296
parameters:
297
VSCODE_ARCH: x64
298
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
299
300
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true)) }}:
301
- stage: Windows
302
dependsOn:
303
- Compile
304
- ${{ if or(eq(parameters.VSCODE_BUILD_LINUX, true),eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true),eq(parameters.VSCODE_BUILD_LINUX_ARM64, true),eq(parameters.VSCODE_BUILD_MACOS, true),eq(parameters.VSCODE_BUILD_MACOS_ARM64, true),eq(parameters.VSCODE_BUILD_WIN32, true),eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
305
- CompileCLI
306
pool:
307
name: 1es-windows-2022-x64
308
os: windows
309
jobs:
310
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
311
- template: build/azure-pipelines/win32/product-build-win32-ci.yml@self
312
parameters:
313
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
314
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
315
VSCODE_TEST_SUITE: Electron
316
- template: build/azure-pipelines/win32/product-build-win32-ci.yml@self
317
parameters:
318
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
319
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
320
VSCODE_TEST_SUITE: Browser
321
- template: build/azure-pipelines/win32/product-build-win32-ci.yml@self
322
parameters:
323
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
324
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
325
VSCODE_TEST_SUITE: Remote
326
327
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32, true)) }}:
328
- template: build/azure-pipelines/win32/product-build-win32.yml@self
329
parameters:
330
VSCODE_ARCH: x64
331
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
332
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
333
VSCODE_RUN_ELECTRON_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
334
VSCODE_RUN_BROWSER_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
335
VSCODE_RUN_REMOTE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
336
337
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
338
- template: build/azure-pipelines/win32/product-build-win32.yml@self
339
parameters:
340
VSCODE_ARCH: arm64
341
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
342
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
343
344
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true))) }}:
345
- template: build/azure-pipelines/win32/product-build-win32-cli-sign.yml@self
346
parameters:
347
VSCODE_BUILD_WIN32: ${{ parameters.VSCODE_BUILD_WIN32 }}
348
VSCODE_BUILD_WIN32_ARM64: ${{ parameters.VSCODE_BUILD_WIN32_ARM64 }}
349
350
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_LINUX'], true)) }}:
351
- stage: Linux
352
dependsOn:
353
- Compile
354
- ${{ if or(eq(parameters.VSCODE_BUILD_LINUX, true),eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true),eq(parameters.VSCODE_BUILD_LINUX_ARM64, true),eq(parameters.VSCODE_BUILD_MACOS, true),eq(parameters.VSCODE_BUILD_MACOS_ARM64, true),eq(parameters.VSCODE_BUILD_WIN32, true),eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
355
- CompileCLI
356
pool:
357
name: 1es-ubuntu-22.04-x64
358
os: linux
359
jobs:
360
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
361
- template: build/azure-pipelines/linux/product-build-linux-ci.yml@self
362
parameters:
363
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
364
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
365
VSCODE_TEST_SUITE: Electron
366
- template: build/azure-pipelines/linux/product-build-linux-ci.yml@self
367
parameters:
368
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
369
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
370
VSCODE_TEST_SUITE: Browser
371
- template: build/azure-pipelines/linux/product-build-linux-ci.yml@self
372
parameters:
373
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
374
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
375
VSCODE_TEST_SUITE: Remote
376
377
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_SNAP, true))) }}:
378
- template: build/azure-pipelines/linux/product-build-linux.yml@self
379
parameters:
380
NPM_ARCH: x64
381
VSCODE_ARCH: x64
382
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
383
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
384
VSCODE_RUN_ELECTRON_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
385
VSCODE_RUN_BROWSER_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
386
VSCODE_RUN_REMOTE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
387
VSCODE_BUILD_LINUX_SNAP: ${{ parameters.VSCODE_BUILD_LINUX_SNAP }}
388
389
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:
390
- template: build/azure-pipelines/linux/product-build-linux.yml@self
391
parameters:
392
NPM_ARCH: arm
393
VSCODE_ARCH: armhf
394
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
395
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
396
397
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
398
- template: build/azure-pipelines/linux/product-build-linux.yml@self
399
parameters:
400
NPM_ARCH: arm64
401
VSCODE_ARCH: arm64
402
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
403
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
404
405
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_ALPINE'], true)) }}:
406
- stage: Alpine
407
dependsOn:
408
- Compile
409
jobs:
410
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE, true) }}:
411
- template: build/azure-pipelines/alpine/product-build-alpine.yml@self
412
parameters:
413
VSCODE_ARCH: x64
414
- template: build/azure-pipelines/alpine/product-build-alpine-cli.yml@self
415
parameters:
416
VSCODE_ARCH: x64
417
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
418
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true) }}:
419
- template: build/azure-pipelines/alpine/product-build-alpine.yml@self
420
parameters:
421
VSCODE_ARCH: arm64
422
- template: build/azure-pipelines/alpine/product-build-alpine-cli.yml@self
423
parameters:
424
VSCODE_ARCH: arm64
425
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
426
427
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_MACOS'], true)) }}:
428
- stage: macOS
429
dependsOn:
430
- Compile
431
- ${{ if or(eq(parameters.VSCODE_BUILD_LINUX, true),eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true),eq(parameters.VSCODE_BUILD_LINUX_ARM64, true),eq(parameters.VSCODE_BUILD_MACOS, true),eq(parameters.VSCODE_BUILD_MACOS_ARM64, true),eq(parameters.VSCODE_BUILD_WIN32, true),eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
432
- CompileCLI
433
pool:
434
name: AcesShared
435
os: macOS
436
demands:
437
- ImageOverride -equals ACES_VM_SharedPool_Sequoia
438
variables:
439
BUILDSECMON_OPT_IN: true
440
jobs:
441
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
442
- template: build/azure-pipelines/darwin/product-build-darwin-ci.yml@self
443
parameters:
444
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
445
VSCODE_TEST_SUITE: Electron
446
- template: build/azure-pipelines/darwin/product-build-darwin-ci.yml@self
447
parameters:
448
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
449
VSCODE_TEST_SUITE: Browser
450
- template: build/azure-pipelines/darwin/product-build-darwin-ci.yml@self
451
parameters:
452
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
453
VSCODE_TEST_SUITE: Remote
454
455
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS, true)) }}:
456
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
457
parameters:
458
VSCODE_ARCH: x64
459
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
460
461
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
462
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
463
parameters:
464
VSCODE_ARCH: arm64
465
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
466
VSCODE_RUN_ELECTRON_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
467
VSCODE_RUN_BROWSER_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
468
VSCODE_RUN_REMOTE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
469
470
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(variables['VSCODE_BUILD_MACOS_UNIVERSAL'], true)) }}:
471
- template: build/azure-pipelines/darwin/product-build-darwin-universal.yml@self
472
473
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true))) }}:
474
- template: build/azure-pipelines/darwin/product-build-darwin-cli-sign.yml@self
475
parameters:
476
VSCODE_BUILD_MACOS: ${{ parameters.VSCODE_BUILD_MACOS }}
477
VSCODE_BUILD_MACOS_ARM64: ${{ parameters.VSCODE_BUILD_MACOS_ARM64 }}
478
479
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WEB'], true)) }}:
480
- stage: Web
481
dependsOn:
482
- Compile
483
jobs:
484
- template: build/azure-pipelines/web/product-build-web.yml@self
485
486
- ${{ if eq(variables['VSCODE_PUBLISH'], 'true') }}:
487
- stage: Publish
488
dependsOn: []
489
jobs:
490
- template: build/azure-pipelines/product-publish.yml@self
491
parameters:
492
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
493
VSCODE_SCHEDULEDBUILD: ${{ variables.VSCODE_SCHEDULEDBUILD }}
494
495
- ${{ if and(parameters.VSCODE_RELEASE, eq(variables['VSCODE_PRIVATE_BUILD'], false)) }}:
496
- stage: ApproveRelease
497
dependsOn: [] # run in parallel to compile stage
498
pool:
499
name: 1es-ubuntu-22.04-x64
500
os: linux
501
jobs:
502
- job: ApproveRelease
503
displayName: "Approve Release"
504
variables:
505
- group: VSCodePeerApproval
506
- name: skipComponentGovernanceDetection
507
value: true
508
509
- stage: Release
510
dependsOn:
511
- Publish
512
- ApproveRelease
513
pool:
514
name: 1es-ubuntu-22.04-x64
515
os: linux
516
jobs:
517
- job: ReleaseBuild
518
displayName: Release Build
519
steps:
520
- template: build/azure-pipelines/product-release.yml@self
521
parameters:
522
VSCODE_RELEASE: ${{ parameters.VSCODE_RELEASE }}
523
524