Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/build/azure-pipelines/product-build.yml
3520 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
10
trigger:
11
batch: true
12
branches:
13
include: ["main", "release/*"]
14
15
parameters:
16
- name: VSCODE_QUALITY
17
displayName: Quality
18
type: string
19
default: insider
20
values:
21
- exploration
22
- insider
23
- stable
24
- name: NPM_REGISTRY
25
displayName: "Custom NPM Registry"
26
type: string
27
default: 'https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/npm/registry/'
28
- name: CARGO_REGISTRY
29
displayName: "Custom Cargo Registry"
30
type: string
31
default: 'sparse+https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/Cargo/index/'
32
- name: VSCODE_BUILD_WIN32
33
displayName: "🎯 Windows x64"
34
type: boolean
35
default: true
36
- name: VSCODE_BUILD_WIN32_ARM64
37
displayName: "🎯 Windows arm64"
38
type: boolean
39
default: true
40
- name: VSCODE_BUILD_LINUX
41
displayName: "🎯 Linux x64"
42
type: boolean
43
default: true
44
- name: VSCODE_BUILD_LINUX_SNAP
45
displayName: "🎯 Linux x64 Snap"
46
type: boolean
47
default: true
48
- name: VSCODE_BUILD_LINUX_ARM64
49
displayName: "🎯 Linux arm64"
50
type: boolean
51
default: true
52
- name: VSCODE_BUILD_LINUX_ARMHF
53
displayName: "🎯 Linux armhf"
54
type: boolean
55
default: true
56
- name: VSCODE_BUILD_ALPINE
57
displayName: "🎯 Alpine x64"
58
type: boolean
59
default: true
60
- name: VSCODE_BUILD_ALPINE_ARM64
61
displayName: "🎯 Alpine arm64"
62
type: boolean
63
default: true
64
- name: VSCODE_BUILD_MACOS
65
displayName: "🎯 macOS x64"
66
type: boolean
67
default: true
68
- name: VSCODE_BUILD_MACOS_ARM64
69
displayName: "🎯 macOS arm64"
70
type: boolean
71
default: true
72
- name: VSCODE_BUILD_MACOS_UNIVERSAL
73
displayName: "🎯 macOS universal"
74
type: boolean
75
default: true
76
- name: VSCODE_BUILD_WEB
77
displayName: "🎯 Web"
78
type: boolean
79
default: true
80
- name: VSCODE_PUBLISH
81
displayName: "Publish to builds.code.visualstudio.com"
82
type: boolean
83
default: true
84
- name: VSCODE_RELEASE
85
displayName: "Release build if successful"
86
type: boolean
87
default: false
88
- name: VSCODE_COMPILE_ONLY
89
displayName: "Run Compile stage exclusively"
90
type: boolean
91
default: false
92
- name: VSCODE_STEP_ON_IT
93
displayName: "Skip tests"
94
type: boolean
95
default: false
96
97
variables:
98
- name: VSCODE_PRIVATE_BUILD
99
value: ${{ ne(variables['Build.Repository.Uri'], 'https://github.com/microsoft/vscode.git') }}
100
- name: NPM_REGISTRY
101
${{ if in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}: # disable terrapin when in VSCODE_CIBUILD
102
value: none
103
${{ else }}:
104
value: ${{ parameters.NPM_REGISTRY }}
105
- name: CARGO_REGISTRY
106
value: ${{ parameters.CARGO_REGISTRY }}
107
- name: VSCODE_QUALITY
108
value: ${{ parameters.VSCODE_QUALITY }}
109
- name: VSCODE_BUILD_STAGE_WINDOWS
110
value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}
111
- name: VSCODE_BUILD_STAGE_LINUX
112
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)) }}
113
- name: VSCODE_BUILD_STAGE_ALPINE
114
value: ${{ or(eq(parameters.VSCODE_BUILD_ALPINE, true), eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true)) }}
115
- name: VSCODE_BUILD_STAGE_MACOS
116
value: ${{ or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}
117
- name: VSCODE_BUILD_STAGE_WEB
118
value: ${{ eq(parameters.VSCODE_BUILD_WEB, true) }}
119
- name: VSCODE_CIBUILD
120
value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
121
- name: VSCODE_PUBLISH
122
value: ${{ and(eq(parameters.VSCODE_PUBLISH, true), eq(variables.VSCODE_CIBUILD, false), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}
123
- name: VSCODE_SCHEDULEDBUILD
124
value: ${{ eq(variables['Build.Reason'], 'Schedule') }}
125
- name: VSCODE_STEP_ON_IT
126
value: ${{ eq(parameters.VSCODE_STEP_ON_IT, true) }}
127
- name: VSCODE_BUILD_MACOS_UNIVERSAL
128
value: ${{ and(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true), eq(parameters.VSCODE_BUILD_MACOS_UNIVERSAL, true)) }}
129
- name: VSCODE_STAGING_BLOB_STORAGE_ACCOUNT_NAME
130
value: vscodeesrp
131
- name: PRSS_CDN_URL
132
value: https://vscode.download.prss.microsoft.com/dbazure/download
133
- name: VSCODE_ESRP_SERVICE_CONNECTION_ID
134
value: fe07e6ce-6ffb-4df9-8d27-d129523a3f3e
135
- name: VSCODE_ESRP_TENANT_ID
136
value: 975f013f-7f24-47e8-a7d3-abc4752bf346
137
- name: VSCODE_ESRP_CLIENT_ID
138
value: 4ac7ed59-b5e9-4f66-9c30-8d1afa72d32d
139
- name: ESRP_TENANT_ID
140
value: 975f013f-7f24-47e8-a7d3-abc4752bf346
141
- name: ESRP_CLIENT_ID
142
value: c24324f7-e65f-4c45-8702-ed2d4c35df99
143
- name: AZURE_DOCUMENTDB_ENDPOINT
144
value: https://vscode.documents.azure.com/
145
- name: VSCODE_MIXIN_REPO
146
value: microsoft/vscode-distro
147
- name: skipComponentGovernanceDetection
148
value: true
149
- name: ComponentDetection.Timeout
150
value: 600
151
- name: Codeql.SkipTaskAutoInjection
152
value: true
153
- name: ARTIFACT_PREFIX
154
value: ''
155
156
name: "$(Date:yyyyMMdd).$(Rev:r) (${{ parameters.VSCODE_QUALITY }})"
157
158
resources:
159
pipelines:
160
- pipeline: vscode-7pm-kick-off
161
source: 'VS Code 7PM Kick-Off'
162
trigger: true
163
repositories:
164
- repository: 1ESPipelines
165
type: git
166
name: 1ESPipelineTemplates/1ESPipelineTemplates
167
ref: refs/tags/release
168
169
extends:
170
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
171
parameters:
172
sdl:
173
tsa:
174
enabled: true
175
configFile: $(Build.SourcesDirectory)/build/azure-pipelines/config/tsaoptions.json
176
binskim:
177
analyzeTargetGlob: '+:file|$(Agent.BuildDirectory)/VSCode-*/**/*.exe;+:file|$(Agent.BuildDirectory)/VSCode-*/**/*.node;+:file|$(Agent.BuildDirectory)/VSCode-*/**/*.dll;-:file|$(Build.SourcesDirectory)/.build/**/system-setup/VSCodeSetup*.exe;-:file|$(Build.SourcesDirectory)/.build/**/user-setup/VSCodeUserSetup*.exe'
178
codeql:
179
runSourceLanguagesInSourceAnalysis: true
180
compiled:
181
enabled: false
182
justificationForDisabling: "CodeQL breaks ESRP CodeSign on macOS (ICM #520035761, githubcustomers/microsoft-codeql-support#198)"
183
credscan:
184
suppressionsFile: $(Build.SourcesDirectory)/build/azure-pipelines/config/CredScanSuppressions.json
185
eslint:
186
enabled: true
187
enableExclusions: true
188
exclusionsFilePath: $(Build.SourcesDirectory)/.eslint-ignore
189
sourceAnalysisPool: 1es-windows-2022-x64
190
createAdoIssuesForJustificationsForDisablement: false
191
containers:
192
ubuntu-2004-arm64:
193
image: onebranch.azurecr.io/linux/ubuntu-2004-arm64:latest
194
stages:
195
- stage: Compile
196
jobs:
197
- template: build/azure-pipelines/product-compile.yml@self
198
199
- ${{ 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_ALPINE, true),eq(parameters.VSCODE_BUILD_ALPINE_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)) }}:
200
- stage: CompileCLI
201
dependsOn: []
202
jobs:
203
- ${{ if eq(parameters.VSCODE_BUILD_LINUX, true) }}:
204
- job: CLILinuxX64
205
pool:
206
name: 1es-ubuntu-22.04-x64
207
os: linux
208
steps:
209
- template: build/azure-pipelines/linux/cli-build-linux.yml@self
210
parameters:
211
VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}
212
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
213
VSCODE_BUILD_LINUX: ${{ parameters.VSCODE_BUILD_LINUX }}
214
215
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:
216
- job: CLILinuxGnuARM
217
pool:
218
name: 1es-ubuntu-22.04-x64
219
os: linux
220
steps:
221
- template: build/azure-pipelines/linux/cli-build-linux.yml@self
222
parameters:
223
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
224
VSCODE_BUILD_LINUX_ARMHF: ${{ parameters.VSCODE_BUILD_LINUX_ARMHF }}
225
226
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
227
- job: CLILinuxGnuAarch64
228
pool:
229
name: 1es-ubuntu-22.04-x64
230
os: linux
231
steps:
232
- template: build/azure-pipelines/linux/cli-build-linux.yml@self
233
parameters:
234
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
235
VSCODE_BUILD_LINUX_ARM64: ${{ parameters.VSCODE_BUILD_LINUX_ARM64 }}
236
237
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_ALPINE, true)) }}:
238
- job: CLIAlpineX64
239
pool:
240
name: 1es-ubuntu-22.04-x64
241
os: linux
242
steps:
243
- template: build/azure-pipelines/alpine/cli-build-alpine.yml@self
244
parameters:
245
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
246
VSCODE_BUILD_ALPINE: ${{ parameters.VSCODE_BUILD_ALPINE }}
247
248
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true)) }}:
249
- job: CLIAlpineARM64
250
pool:
251
name: 1es-ubuntu-22.04-x64
252
os: linux
253
steps:
254
- template: build/azure-pipelines/alpine/cli-build-alpine.yml@self
255
parameters:
256
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
257
VSCODE_BUILD_ALPINE_ARM64: ${{ parameters.VSCODE_BUILD_ALPINE_ARM64 }}
258
259
- ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
260
- job: CLIMacOSX64
261
pool:
262
name: AcesShared
263
os: macOS
264
variables:
265
# todo@connor4312 to diagnose build flakes
266
- name: MSRUSTUP_LOG
267
value: debug
268
steps:
269
- template: build/azure-pipelines/darwin/cli-build-darwin.yml@self
270
parameters:
271
VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}
272
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
273
VSCODE_BUILD_MACOS: ${{ parameters.VSCODE_BUILD_MACOS }}
274
275
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
276
- job: CLIMacOSARM64
277
pool:
278
name: AcesShared
279
os: macOS
280
variables:
281
# todo@connor4312 to diagnose build flakes
282
- name: MSRUSTUP_LOG
283
value: debug
284
steps:
285
- template: build/azure-pipelines/darwin/cli-build-darwin.yml@self
286
parameters:
287
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
288
VSCODE_BUILD_MACOS_ARM64: ${{ parameters.VSCODE_BUILD_MACOS_ARM64 }}
289
290
- ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}:
291
- job: CLIWindowsX64
292
pool:
293
name: 1es-windows-2022-x64
294
os: windows
295
steps:
296
- template: build/azure-pipelines/win32/product-build-win32-cli-compile.yml@self
297
parameters:
298
VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}
299
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
300
VSCODE_BUILD_WIN32: ${{ parameters.VSCODE_BUILD_WIN32 }}
301
302
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
303
- job: CLIWindowsARM64
304
pool:
305
name: 1es-windows-2022-x64
306
os: windows
307
steps:
308
- template: build/azure-pipelines/win32/product-build-win32-cli-compile.yml@self
309
parameters:
310
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
311
VSCODE_BUILD_WIN32_ARM64: ${{ parameters.VSCODE_BUILD_WIN32_ARM64 }}
312
313
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}:
314
- stage: APIScan
315
dependsOn: []
316
pool:
317
name: 1es-windows-2022-x64
318
os: windows
319
jobs:
320
- job: WindowsAPIScan
321
steps:
322
- template: build/azure-pipelines/win32/sdl-scan-win32.yml@self
323
parameters:
324
VSCODE_ARCH: x64
325
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
326
327
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true)) }}:
328
- stage: Windows
329
dependsOn:
330
- Compile
331
- ${{ 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_ALPINE, true),eq(parameters.VSCODE_BUILD_ALPINE_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)) }}:
332
- CompileCLI
333
pool:
334
name: 1es-windows-2022-x64
335
os: windows
336
jobs:
337
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
338
- template: build/azure-pipelines/win32/product-build-win32-ci.yml@self
339
parameters:
340
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
341
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
342
VSCODE_TEST_SUITE: Electron
343
- template: build/azure-pipelines/win32/product-build-win32-ci.yml@self
344
parameters:
345
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
346
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
347
VSCODE_TEST_SUITE: Browser
348
- template: build/azure-pipelines/win32/product-build-win32-ci.yml@self
349
parameters:
350
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
351
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
352
VSCODE_TEST_SUITE: Remote
353
354
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32, true)) }}:
355
- template: build/azure-pipelines/win32/product-build-win32.yml@self
356
parameters:
357
VSCODE_ARCH: x64
358
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
359
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
360
VSCODE_RUN_ELECTRON_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
361
VSCODE_RUN_BROWSER_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
362
VSCODE_RUN_REMOTE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
363
364
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
365
- template: build/azure-pipelines/win32/product-build-win32.yml@self
366
parameters:
367
VSCODE_ARCH: arm64
368
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
369
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
370
371
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true))) }}:
372
- template: build/azure-pipelines/win32/product-build-win32-cli-sign.yml@self
373
parameters:
374
VSCODE_BUILD_WIN32: ${{ parameters.VSCODE_BUILD_WIN32 }}
375
VSCODE_BUILD_WIN32_ARM64: ${{ parameters.VSCODE_BUILD_WIN32_ARM64 }}
376
377
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_LINUX'], true)) }}:
378
- stage: Linux
379
dependsOn:
380
- Compile
381
- ${{ 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_ALPINE, true),eq(parameters.VSCODE_BUILD_ALPINE_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)) }}:
382
- CompileCLI
383
pool:
384
name: 1es-ubuntu-22.04-x64
385
os: linux
386
jobs:
387
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
388
- job: Linuxx64ElectronTest
389
displayName: Electron Tests
390
timeoutInMinutes: 30
391
variables:
392
VSCODE_ARCH: x64
393
NPM_ARCH: x64
394
DISPLAY: ":10"
395
steps:
396
- template: build/azure-pipelines/linux/product-build-linux.yml@self
397
parameters:
398
VSCODE_ARCH: x64
399
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
400
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
401
VSCODE_TEST_ARTIFACT_NAME: electron
402
VSCODE_RUN_ELECTRON_TESTS: true
403
- job: Linuxx64BrowserTest
404
displayName: Browser Tests
405
timeoutInMinutes: 30
406
variables:
407
VSCODE_ARCH: x64
408
NPM_ARCH: x64
409
DISPLAY: ":10"
410
steps:
411
- template: build/azure-pipelines/linux/product-build-linux.yml@self
412
parameters:
413
VSCODE_ARCH: x64
414
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
415
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
416
VSCODE_TEST_ARTIFACT_NAME: browser
417
VSCODE_RUN_BROWSER_TESTS: true
418
- job: Linuxx64RemoteTest
419
displayName: Remote Tests
420
timeoutInMinutes: 30
421
variables:
422
VSCODE_ARCH: x64
423
NPM_ARCH: x64
424
DISPLAY: ":10"
425
steps:
426
- template: build/azure-pipelines/linux/product-build-linux.yml@self
427
parameters:
428
VSCODE_ARCH: x64
429
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
430
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
431
VSCODE_TEST_ARTIFACT_NAME: remote
432
VSCODE_RUN_REMOTE_TESTS: true
433
434
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_SNAP, true))) }}:
435
- job: Linuxx64
436
timeoutInMinutes: 90
437
variables:
438
VSCODE_ARCH: x64
439
NPM_ARCH: x64
440
DISPLAY: ":10"
441
steps:
442
- template: build/azure-pipelines/linux/product-build-linux.yml@self
443
parameters:
444
VSCODE_ARCH: x64
445
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
446
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
447
VSCODE_RUN_ELECTRON_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
448
VSCODE_RUN_BROWSER_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
449
VSCODE_RUN_REMOTE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
450
VSCODE_BUILD_LINUX_SNAP: ${{ parameters.VSCODE_BUILD_LINUX_SNAP }}
451
452
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:
453
- job: LinuxArmhf
454
variables:
455
VSCODE_ARCH: armhf
456
NPM_ARCH: arm
457
steps:
458
- template: build/azure-pipelines/linux/product-build-linux.yml@self
459
parameters:
460
VSCODE_ARCH: armhf
461
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
462
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
463
464
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
465
- job: LinuxArm64
466
variables:
467
VSCODE_ARCH: arm64
468
NPM_ARCH: arm64
469
steps:
470
- template: build/azure-pipelines/linux/product-build-linux.yml@self
471
parameters:
472
VSCODE_ARCH: arm64
473
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
474
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
475
476
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_ALPINE'], true)) }}:
477
- stage: Alpine
478
dependsOn:
479
- Compile
480
- ${{ 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_ALPINE, true),eq(parameters.VSCODE_BUILD_ALPINE_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)) }}:
481
- CompileCLI
482
pool:
483
name: 1es-ubuntu-22.04-x64
484
os: linux
485
jobs:
486
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE, true) }}:
487
- job: LinuxAlpine
488
variables:
489
VSCODE_ARCH: x64
490
NPM_ARCH: x64
491
steps:
492
- template: build/azure-pipelines/alpine/product-build-alpine.yml@self
493
494
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true) }}:
495
- job: LinuxAlpineArm64
496
timeoutInMinutes: 120
497
variables:
498
VSCODE_ARCH: arm64
499
NPM_ARCH: arm64
500
steps:
501
- template: build/azure-pipelines/alpine/product-build-alpine.yml@self
502
503
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_MACOS'], true)) }}:
504
- stage: macOS
505
dependsOn:
506
- Compile
507
- ${{ 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_ALPINE, true),eq(parameters.VSCODE_BUILD_ALPINE_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)) }}:
508
- CompileCLI
509
pool:
510
name: AcesShared
511
os: macOS
512
variables:
513
BUILDSECMON_OPT_IN: true
514
jobs:
515
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
516
- job: macOSElectronTest
517
displayName: Electron Tests
518
timeoutInMinutes: 30
519
variables:
520
VSCODE_ARCH: arm64
521
steps:
522
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
523
parameters:
524
VSCODE_ARCH: arm64
525
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
526
VSCODE_TEST_ARTIFACT_NAME: electron
527
VSCODE_RUN_ELECTRON_TESTS: true
528
- job: macOSBrowserTest
529
displayName: Browser Tests
530
timeoutInMinutes: 30
531
variables:
532
VSCODE_ARCH: arm64
533
steps:
534
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
535
parameters:
536
VSCODE_ARCH: arm64
537
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
538
VSCODE_TEST_ARTIFACT_NAME: browser
539
VSCODE_RUN_BROWSER_TESTS: true
540
- job: macOSRemoteTest
541
displayName: Remote Tests
542
timeoutInMinutes: 30
543
variables:
544
VSCODE_ARCH: arm64
545
steps:
546
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
547
parameters:
548
VSCODE_ARCH: arm64
549
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
550
VSCODE_TEST_ARTIFACT_NAME: remote
551
VSCODE_RUN_REMOTE_TESTS: true
552
553
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS, true)) }}:
554
- job: macOS
555
timeoutInMinutes: 90
556
variables:
557
VSCODE_ARCH: x64
558
BUILDS_API_URL: $(System.CollectionUri)$(System.TeamProject)/_apis/build/builds/$(Build.BuildId)/
559
steps:
560
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
561
parameters:
562
VSCODE_ARCH: x64
563
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
564
565
- job: macOSCLI
566
timeoutInMinutes: 90
567
steps:
568
- template: build/azure-pipelines/darwin/product-build-darwin-cli-sign.yml@self
569
parameters:
570
VSCODE_BUILD_MACOS: ${{ parameters.VSCODE_BUILD_MACOS }}
571
VSCODE_BUILD_MACOS_ARM64: ${{ parameters.VSCODE_BUILD_MACOS_ARM64 }}
572
573
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
574
- job: macOSARM64
575
timeoutInMinutes: 90
576
variables:
577
VSCODE_ARCH: arm64
578
BUILDS_API_URL: $(System.CollectionUri)$(System.TeamProject)/_apis/build/builds/$(Build.BuildId)/
579
steps:
580
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
581
parameters:
582
VSCODE_ARCH: arm64
583
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
584
VSCODE_RUN_ELECTRON_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
585
VSCODE_RUN_BROWSER_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
586
VSCODE_RUN_REMOTE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
587
588
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(variables['VSCODE_BUILD_MACOS_UNIVERSAL'], true)) }}:
589
- job: macOSUniversal
590
timeoutInMinutes: 90
591
variables:
592
VSCODE_ARCH: universal
593
BUILDS_API_URL: $(System.CollectionUri)$(System.TeamProject)/_apis/build/builds/$(Build.BuildId)/
594
steps:
595
- template: build/azure-pipelines/darwin/product-build-darwin-universal.yml@self
596
597
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WEB'], true)) }}:
598
- stage: Web
599
dependsOn:
600
- Compile
601
pool:
602
name: 1es-ubuntu-22.04-x64
603
os: linux
604
jobs:
605
- ${{ if eq(parameters.VSCODE_BUILD_WEB, true) }}:
606
- job: Web
607
variables:
608
VSCODE_ARCH: x64
609
steps:
610
- template: build/azure-pipelines/web/product-build-web.yml@self
611
612
- ${{ if eq(variables['VSCODE_PUBLISH'], 'true') }}:
613
- stage: Publish
614
dependsOn: []
615
pool:
616
name: 1es-windows-2022-x64
617
os: windows
618
variables:
619
- name: BUILDS_API_URL
620
value: $(System.CollectionUri)$(System.TeamProject)/_apis/build/builds/$(Build.BuildId)/
621
jobs:
622
- job: PublishBuild
623
timeoutInMinutes: 180
624
displayName: Publish Build
625
steps:
626
- template: build/azure-pipelines/product-publish.yml@self
627
parameters:
628
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
629
VSCODE_SCHEDULEDBUILD: ${{ variables.VSCODE_SCHEDULEDBUILD }}
630
631
- ${{ if and(parameters.VSCODE_RELEASE, eq(variables['VSCODE_PRIVATE_BUILD'], false)) }}:
632
- stage: ApproveRelease
633
dependsOn: [] # run in parallel to compile stage
634
pool:
635
name: 1es-ubuntu-22.04-x64
636
os: linux
637
jobs:
638
- job: ApproveRelease
639
displayName: "Approve Release"
640
variables:
641
- group: VSCodePeerApproval
642
- name: skipComponentGovernanceDetection
643
value: true
644
645
- stage: Release
646
dependsOn:
647
- Publish
648
- ApproveRelease
649
pool:
650
name: 1es-ubuntu-22.04-x64
651
os: linux
652
jobs:
653
- job: ReleaseBuild
654
displayName: Release Build
655
steps:
656
- template: build/azure-pipelines/product-release.yml@self
657
parameters:
658
VSCODE_RELEASE: ${{ parameters.VSCODE_RELEASE }}
659
660