Path: blob/main/build/azure-pipelines/product-build.yml
5359 views
pr: none12schedules:3- cron: "0 5 * * Mon-Fri"4displayName: Mon-Fri at 7:005branches:6include:7- main8- cron: "0 17 * * Mon-Fri"9displayName: Mon-Fri at 19:0010branches:11include:12- main1314trigger:15batch: true16branches:17include: ["main", "release/*"]1819parameters:20- name: VSCODE_QUALITY21displayName: Quality22type: string23default: insider24values:25- exploration26- insider27- stable28- name: NPM_REGISTRY29displayName: "Custom NPM Registry"30type: string31default: 'https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/npm/registry/'32- name: CARGO_REGISTRY33displayName: "Custom Cargo Registry"34type: string35default: 'sparse+https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/Cargo/index/'36- name: VSCODE_BUILD_WIN3237displayName: "🎯 Windows x64"38type: boolean39default: true40- name: VSCODE_BUILD_WIN32_ARM6441displayName: "🎯 Windows arm64"42type: boolean43default: true44- name: VSCODE_BUILD_LINUX45displayName: "🎯 Linux x64"46type: boolean47default: true48- name: VSCODE_BUILD_LINUX_SNAP49displayName: "🎯 Linux x64 Snap"50type: boolean51default: true52- name: VSCODE_BUILD_LINUX_ARM6453displayName: "🎯 Linux arm64"54type: boolean55default: true56- name: VSCODE_BUILD_LINUX_ARMHF57displayName: "🎯 Linux armhf"58type: boolean59default: true60- name: VSCODE_BUILD_ALPINE61displayName: "🎯 Alpine x64"62type: boolean63default: true64- name: VSCODE_BUILD_ALPINE_ARM6465displayName: "🎯 Alpine arm64"66type: boolean67default: true68- name: VSCODE_BUILD_MACOS69displayName: "🎯 macOS x64"70type: boolean71default: true72- name: VSCODE_BUILD_MACOS_ARM6473displayName: "🎯 macOS arm64"74type: boolean75default: true76- name: VSCODE_BUILD_MACOS_UNIVERSAL77displayName: "🎯 macOS universal"78type: boolean79default: true80- name: VSCODE_BUILD_WEB81displayName: "🎯 Web"82type: boolean83default: true84- name: VSCODE_PUBLISH85displayName: "Publish to builds.code.visualstudio.com"86type: boolean87default: true88- name: VSCODE_RELEASE89displayName: "Release build if successful"90type: boolean91default: false92- name: VSCODE_COMPILE_ONLY93displayName: "Run Compile stage exclusively"94type: boolean95default: false96- name: VSCODE_STEP_ON_IT97displayName: "Skip tests"98type: boolean99default: false100101variables:102- name: VSCODE_PRIVATE_BUILD103value: ${{ ne(variables['Build.Repository.Uri'], 'https://github.com/microsoft/vscode.git') }}104- name: NPM_REGISTRY105value: ${{ parameters.NPM_REGISTRY }}106- name: CARGO_REGISTRY107value: ${{ parameters.CARGO_REGISTRY }}108- name: VSCODE_QUALITY109value: ${{ parameters.VSCODE_QUALITY }}110- name: VSCODE_BUILD_STAGE_WINDOWS111value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}112- name: VSCODE_BUILD_STAGE_LINUX113value: ${{ 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)) }}114- name: VSCODE_BUILD_STAGE_ALPINE115value: ${{ or(eq(parameters.VSCODE_BUILD_ALPINE, true), eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true)) }}116- name: VSCODE_BUILD_STAGE_MACOS117value: ${{ or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}118- name: VSCODE_BUILD_STAGE_WEB119value: ${{ eq(parameters.VSCODE_BUILD_WEB, true) }}120- name: VSCODE_CIBUILD121value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}122- name: VSCODE_PUBLISH123value: ${{ and(eq(parameters.VSCODE_PUBLISH, true), eq(variables.VSCODE_CIBUILD, false), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}124- name: VSCODE_SCHEDULEDBUILD125value: ${{ eq(variables['Build.Reason'], 'Schedule') }}126- name: VSCODE_STEP_ON_IT127value: ${{ eq(parameters.VSCODE_STEP_ON_IT, true) }}128- name: VSCODE_BUILD_MACOS_UNIVERSAL129value: ${{ and(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true), eq(parameters.VSCODE_BUILD_MACOS_UNIVERSAL, true)) }}130- name: VSCODE_STAGING_BLOB_STORAGE_ACCOUNT_NAME131value: vscodeesrp132- name: PRSS_CDN_URL133value: https://vscode.download.prss.microsoft.com/dbazure/download134- name: VSCODE_ESRP_SERVICE_CONNECTION_ID135value: fe07e6ce-6ffb-4df9-8d27-d129523a3f3e136- name: VSCODE_ESRP_TENANT_ID137value: 975f013f-7f24-47e8-a7d3-abc4752bf346138- name: VSCODE_ESRP_CLIENT_ID139value: 4ac7ed59-b5e9-4f66-9c30-8d1afa72d32d140- name: ESRP_TENANT_ID141value: 975f013f-7f24-47e8-a7d3-abc4752bf346142- name: ESRP_CLIENT_ID143value: c24324f7-e65f-4c45-8702-ed2d4c35df99144- name: AZURE_DOCUMENTDB_ENDPOINT145value: https://vscode.documents.azure.com/146- name: VSCODE_MIXIN_REPO147value: microsoft/vscode-distro148- name: skipComponentGovernanceDetection149value: true150- name: ComponentDetection.Timeout151value: 600152- name: Codeql.SkipTaskAutoInjection153value: true154- name: ARTIFACT_PREFIX155value: ''156157name: "$(Date:yyyyMMdd).$(Rev:r) (${{ parameters.VSCODE_QUALITY }})"158159resources:160repositories:161- repository: 1esPipelines162type: git163name: 1ESPipelineTemplates/1ESPipelineTemplates164ref: refs/tags/release165166extends:167template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines168parameters:169sdl:170tsa:171enabled: true172configFile: $(Build.SourcesDirectory)/build/azure-pipelines/config/tsaoptions.json173binskim:174analyzeTargetGlob: '+: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'175codeql:176runSourceLanguagesInSourceAnalysis: true177compiled:178enabled: false179justificationForDisabling: "CodeQL breaks ESRP CodeSign on macOS (ICM #520035761, githubcustomers/microsoft-codeql-support#198)"180credscan:181suppressionsFile: $(Build.SourcesDirectory)/build/azure-pipelines/config/CredScanSuppressions.json182eslint:183enabled: true184enableExclusions: true185exclusionsFilePath: $(Build.SourcesDirectory)/.eslint-ignore186sourceAnalysisPool: 1es-windows-2022-x64187createAdoIssuesForJustificationsForDisablement: false188containers:189ubuntu-2004-arm64:190image: onebranch.azurecr.io/linux/ubuntu-2004-arm64:latest191stages:192- stage: Compile193pool:194name: AcesShared195os: macOS196demands:197- ImageOverride -equals ACES_VM_SharedPool_Sequoia198jobs:199- template: build/azure-pipelines/product-compile.yml@self200201- ${{ if eq(variables['VSCODE_PUBLISH'], 'true') }}:202- stage: ValidationChecks203dependsOn: []204pool:205name: 1es-ubuntu-22.04-x64206os: linux207jobs:208- template: build/azure-pipelines/product-validation-checks.yml@self209210- ${{ 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)) }}:211- stage: CompileCLI212dependsOn: []213jobs:214- ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}:215- template: build/azure-pipelines/win32/product-build-win32-cli.yml@self216parameters:217VSCODE_ARCH: x64218VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}219VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}220221- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:222- template: build/azure-pipelines/win32/product-build-win32-cli.yml@self223parameters:224VSCODE_ARCH: arm64225VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}226227- ${{ if eq(parameters.VSCODE_BUILD_LINUX, true) }}:228- template: build/azure-pipelines/linux/product-build-linux-cli.yml@self229parameters:230VSCODE_ARCH: x64231VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}232VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}233234- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:235- template: build/azure-pipelines/linux/product-build-linux-cli.yml@self236parameters:237VSCODE_ARCH: arm64238VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}239240- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:241- template: build/azure-pipelines/linux/product-build-linux-cli.yml@self242parameters:243VSCODE_ARCH: armhf244VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}245246- ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:247- template: build/azure-pipelines/darwin/product-build-darwin-cli.yml@self248parameters:249VSCODE_ARCH: x64250VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}251VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}252253- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:254- template: build/azure-pipelines/darwin/product-build-darwin-cli.yml@self255parameters:256VSCODE_ARCH: arm64257VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}258259- ${{ if and(eq(variables['VSCODE_CIBUILD'], true), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}:260- stage: node_modules261dependsOn: []262jobs:263- template: build/azure-pipelines/win32/product-build-win32-node-modules.yml@self264parameters:265VSCODE_ARCH: arm64266- template: build/azure-pipelines/linux/product-build-linux-node-modules.yml@self267parameters:268NPM_ARCH: arm64269VSCODE_ARCH: arm64270- template: build/azure-pipelines/linux/product-build-linux-node-modules.yml@self271parameters:272NPM_ARCH: arm273VSCODE_ARCH: armhf274- template: build/azure-pipelines/alpine/product-build-alpine-node-modules.yml@self275parameters:276VSCODE_ARCH: x64277- template: build/azure-pipelines/alpine/product-build-alpine-node-modules.yml@self278parameters:279VSCODE_ARCH: arm64280- template: build/azure-pipelines/darwin/product-build-darwin-node-modules.yml@self281parameters:282VSCODE_ARCH: x64283- template: build/azure-pipelines/web/product-build-web-node-modules.yml@self284285- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}:286- stage: APIScan287dependsOn: []288pool:289name: 1es-windows-2022-x64290os: windows291jobs:292- job: WindowsAPIScan293steps:294- template: build/azure-pipelines/win32/sdl-scan-win32.yml@self295parameters:296VSCODE_ARCH: x64297VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}298299- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true)) }}:300- stage: Windows301dependsOn:302- Compile303- ${{ 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)) }}:304- CompileCLI305pool:306name: 1es-windows-2022-x64307os: windows308jobs:309- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:310- template: build/azure-pipelines/win32/product-build-win32-ci.yml@self311parameters:312VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}313VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}314VSCODE_TEST_SUITE: Electron315- template: build/azure-pipelines/win32/product-build-win32-ci.yml@self316parameters:317VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}318VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}319VSCODE_TEST_SUITE: Browser320- template: build/azure-pipelines/win32/product-build-win32-ci.yml@self321parameters:322VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}323VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}324VSCODE_TEST_SUITE: Remote325326- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32, true)) }}:327- template: build/azure-pipelines/win32/product-build-win32.yml@self328parameters:329VSCODE_ARCH: x64330VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}331VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}332VSCODE_RUN_ELECTRON_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}333VSCODE_RUN_BROWSER_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}334VSCODE_RUN_REMOTE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}335336- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:337- template: build/azure-pipelines/win32/product-build-win32.yml@self338parameters:339VSCODE_ARCH: arm64340VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}341VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}342343- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true))) }}:344- template: build/azure-pipelines/win32/product-build-win32-cli-sign.yml@self345parameters:346VSCODE_BUILD_WIN32: ${{ parameters.VSCODE_BUILD_WIN32 }}347VSCODE_BUILD_WIN32_ARM64: ${{ parameters.VSCODE_BUILD_WIN32_ARM64 }}348349- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_LINUX'], true)) }}:350- stage: Linux351dependsOn:352- Compile353- ${{ 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)) }}:354- CompileCLI355pool:356name: 1es-ubuntu-22.04-x64357os: linux358jobs:359- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:360- template: build/azure-pipelines/linux/product-build-linux-ci.yml@self361parameters:362VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}363VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}364VSCODE_TEST_SUITE: Electron365- template: build/azure-pipelines/linux/product-build-linux-ci.yml@self366parameters:367VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}368VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}369VSCODE_TEST_SUITE: Browser370- template: build/azure-pipelines/linux/product-build-linux-ci.yml@self371parameters:372VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}373VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}374VSCODE_TEST_SUITE: Remote375376- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_SNAP, true))) }}:377- template: build/azure-pipelines/linux/product-build-linux.yml@self378parameters:379NPM_ARCH: x64380VSCODE_ARCH: x64381VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}382VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}383VSCODE_RUN_ELECTRON_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}384VSCODE_RUN_BROWSER_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}385VSCODE_RUN_REMOTE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}386VSCODE_BUILD_LINUX_SNAP: ${{ parameters.VSCODE_BUILD_LINUX_SNAP }}387388- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:389- template: build/azure-pipelines/linux/product-build-linux.yml@self390parameters:391NPM_ARCH: arm392VSCODE_ARCH: armhf393VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}394VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}395396- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:397- template: build/azure-pipelines/linux/product-build-linux.yml@self398parameters:399NPM_ARCH: arm64400VSCODE_ARCH: arm64401VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}402VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}403404- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_ALPINE'], true)) }}:405- stage: Alpine406dependsOn:407- Compile408jobs:409- ${{ if eq(parameters.VSCODE_BUILD_ALPINE, true) }}:410- template: build/azure-pipelines/alpine/product-build-alpine.yml@self411parameters:412VSCODE_ARCH: x64413- template: build/azure-pipelines/alpine/product-build-alpine-cli.yml@self414parameters:415VSCODE_ARCH: x64416VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}417- ${{ if eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true) }}:418- template: build/azure-pipelines/alpine/product-build-alpine.yml@self419parameters:420VSCODE_ARCH: arm64421- template: build/azure-pipelines/alpine/product-build-alpine-cli.yml@self422parameters:423VSCODE_ARCH: arm64424VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}425426- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_MACOS'], true)) }}:427- stage: macOS428dependsOn:429- Compile430- ${{ 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)) }}:431- CompileCLI432pool:433name: AcesShared434os: macOS435demands:436- ImageOverride -equals ACES_VM_SharedPool_Sequoia437variables:438BUILDSECMON_OPT_IN: true439jobs:440- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:441- template: build/azure-pipelines/darwin/product-build-darwin-ci.yml@self442parameters:443VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}444VSCODE_TEST_SUITE: Electron445- template: build/azure-pipelines/darwin/product-build-darwin-ci.yml@self446parameters:447VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}448VSCODE_TEST_SUITE: Browser449- template: build/azure-pipelines/darwin/product-build-darwin-ci.yml@self450parameters:451VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}452VSCODE_TEST_SUITE: Remote453454- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS, true)) }}:455- template: build/azure-pipelines/darwin/product-build-darwin.yml@self456parameters:457VSCODE_ARCH: x64458VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}459460- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:461- template: build/azure-pipelines/darwin/product-build-darwin.yml@self462parameters:463VSCODE_ARCH: arm64464VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}465VSCODE_RUN_ELECTRON_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}466VSCODE_RUN_BROWSER_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}467VSCODE_RUN_REMOTE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}468469- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(variables['VSCODE_BUILD_MACOS_UNIVERSAL'], true)) }}:470- template: build/azure-pipelines/darwin/product-build-darwin-universal.yml@self471472- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true))) }}:473- template: build/azure-pipelines/darwin/product-build-darwin-cli-sign.yml@self474parameters:475VSCODE_BUILD_MACOS: ${{ parameters.VSCODE_BUILD_MACOS }}476VSCODE_BUILD_MACOS_ARM64: ${{ parameters.VSCODE_BUILD_MACOS_ARM64 }}477478- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WEB'], true)) }}:479- stage: Web480dependsOn:481- Compile482jobs:483- template: build/azure-pipelines/web/product-build-web.yml@self484485- ${{ if eq(variables['VSCODE_PUBLISH'], 'true') }}:486- stage: Publish487dependsOn: []488jobs:489- template: build/azure-pipelines/product-publish.yml@self490parameters:491VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}492VSCODE_SCHEDULEDBUILD: ${{ variables.VSCODE_SCHEDULEDBUILD }}493494- ${{ if and(parameters.VSCODE_RELEASE, eq(variables['VSCODE_PRIVATE_BUILD'], false)) }}:495- stage: ApproveRelease496dependsOn: [] # run in parallel to compile stage497pool:498name: 1es-ubuntu-22.04-x64499os: linux500jobs:501- job: ApproveRelease502displayName: "Approve Release"503variables:504- group: VSCodePeerApproval505- name: skipComponentGovernanceDetection506value: true507508- stage: Release509dependsOn:510- Publish511- ApproveRelease512pool:513name: 1es-ubuntu-22.04-x64514os: linux515jobs:516- job: ReleaseBuild517displayName: Release Build518steps:519- template: build/azure-pipelines/product-release.yml@self520parameters:521VSCODE_RELEASE: ${{ parameters.VSCODE_RELEASE }}522523524