816 lines
36 KiB
YAML
816 lines
36 KiB
YAML
pr: none
|
|
|
|
schedules:
|
|
- cron: "0 5 * * Mon-Fri"
|
|
displayName: Mon-Fri at 7:00
|
|
branches:
|
|
include:
|
|
- main
|
|
|
|
trigger:
|
|
branches:
|
|
include: ["main", "release/*"]
|
|
|
|
parameters:
|
|
- name: VSCODE_QUALITY
|
|
displayName: Quality
|
|
type: string
|
|
default: insider
|
|
values:
|
|
- exploration
|
|
- insider
|
|
- stable
|
|
- name: NPM_REGISTRY
|
|
displayName: "Custom NPM Registry"
|
|
type: string
|
|
default: 'https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/npm/registry/'
|
|
- name: CARGO_REGISTRY
|
|
displayName: "Custom Cargo Registry"
|
|
type: string
|
|
default: 'sparse+https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/Cargo/index/'
|
|
- name: VSCODE_BUILD_WIN32
|
|
displayName: "🎯 Windows x64"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_WIN32_ARM64
|
|
displayName: "🎯 Windows arm64"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_LINUX
|
|
displayName: "🎯 Linux x64"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_LINUX_X64_LEGACY_SERVER
|
|
displayName: "🎯 Linux x64 Legacy Server"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_LINUX_ARM64
|
|
displayName: "🎯 Linux arm64"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_LINUX_ARM64_LEGACY_SERVER
|
|
displayName: "🎯 Linux arm64 Legacy Server"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_LINUX_ARMHF
|
|
displayName: "🎯 Linux armhf"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_LINUX_ARMHF_LEGACY_SERVER
|
|
displayName: "🎯 Linux armhf Legacy Server"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_ALPINE
|
|
displayName: "🎯 Alpine x64"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_ALPINE_ARM64
|
|
displayName: "🎯 Alpine arm64"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_MACOS
|
|
displayName: "🎯 macOS x64"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_MACOS_ARM64
|
|
displayName: "🎯 macOS arm64"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_MACOS_UNIVERSAL
|
|
displayName: "🎯 macOS universal"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_BUILD_WEB
|
|
displayName: "🎯 Web"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_PUBLISH
|
|
displayName: "Publish to builds.code.visualstudio.com"
|
|
type: boolean
|
|
default: true
|
|
- name: VSCODE_RELEASE
|
|
displayName: "Release build if successful"
|
|
type: boolean
|
|
default: false
|
|
- name: VSCODE_COMPILE_ONLY
|
|
displayName: "Run Compile stage exclusively"
|
|
type: boolean
|
|
default: false
|
|
- name: VSCODE_STEP_ON_IT
|
|
displayName: "Skip tests"
|
|
type: boolean
|
|
default: false
|
|
|
|
variables:
|
|
- name: VSCODE_PRIVATE_BUILD
|
|
value: ${{ ne(variables['Build.Repository.Uri'], 'https://github.com/microsoft/vscode.git') }}
|
|
- name: NPM_REGISTRY
|
|
value: ${{ parameters.NPM_REGISTRY }}
|
|
- name: CARGO_REGISTRY
|
|
value: ${{ parameters.CARGO_REGISTRY }}
|
|
- name: VSCODE_QUALITY
|
|
value: ${{ parameters.VSCODE_QUALITY }}
|
|
- name: VSCODE_BUILD_STAGE_WINDOWS
|
|
value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}
|
|
- name: VSCODE_BUILD_STAGE_LINUX
|
|
value: ${{ or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}
|
|
- name: VSCODE_BUILD_STAGE_LINUX_LEGACY_SERVER
|
|
value: ${{ or(eq(parameters.VSCODE_BUILD_LINUX_X64_LEGACY_SERVER, true), eq(parameters.VSCODE_BUILD_LINUX_ARMHF_LEGACY_SERVER, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64_LEGACY_SERVER, true)) }}
|
|
- name: VSCODE_BUILD_STAGE_ALPINE
|
|
value: ${{ or(eq(parameters.VSCODE_BUILD_ALPINE, true), eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true)) }}
|
|
- name: VSCODE_BUILD_STAGE_MACOS
|
|
value: ${{ or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}
|
|
- name: VSCODE_BUILD_STAGE_WEB
|
|
value: ${{ eq(parameters.VSCODE_BUILD_WEB, true) }}
|
|
- name: VSCODE_CIBUILD
|
|
value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
|
|
- name: VSCODE_PUBLISH
|
|
value: ${{ and(eq(parameters.VSCODE_PUBLISH, true), eq(variables.VSCODE_CIBUILD, false), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}
|
|
- name: VSCODE_SCHEDULEDBUILD
|
|
value: ${{ eq(variables['Build.Reason'], 'Schedule') }}
|
|
- name: VSCODE_7PM_BUILD
|
|
value: ${{ in(variables['Build.Reason'], 'BuildCompletion', 'ResourceTrigger') }}
|
|
- name: VSCODE_STEP_ON_IT
|
|
value: ${{ eq(parameters.VSCODE_STEP_ON_IT, true) }}
|
|
- name: VSCODE_BUILD_MACOS_UNIVERSAL
|
|
value: ${{ and(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true), eq(parameters.VSCODE_BUILD_MACOS_UNIVERSAL, true)) }}
|
|
- name: PRSS_CDN_URL
|
|
value: https://vscode.download.prss.microsoft.com/dbazure/download
|
|
- name: PRSS_RELEASE_TENANT_ID
|
|
value: 975f013f-7f24-47e8-a7d3-abc4752bf346
|
|
- name: PRSS_RELEASE_CLIENT_ID
|
|
value: c24324f7-e65f-4c45-8702-ed2d4c35df99
|
|
- name: PRSS_PROVISION_TENANT_ID
|
|
value: 72f988bf-86f1-41af-91ab-2d7cd011db47
|
|
- name: AZURE_DOCUMENTDB_ENDPOINT
|
|
value: https://vscode.documents.azure.com:443/
|
|
- name: VSCODE_MIXIN_REPO
|
|
value: microsoft/vscode-distro
|
|
- name: skipComponentGovernanceDetection
|
|
value: true
|
|
- name: ComponentDetection.Timeout
|
|
value: 600
|
|
- name: Codeql.SkipTaskAutoInjection
|
|
value: true
|
|
- name: ARTIFACT_PREFIX
|
|
value: ''
|
|
|
|
name: "$(Date:yyyyMMdd).$(Rev:r) (${{ parameters.VSCODE_QUALITY }})"
|
|
|
|
resources:
|
|
pipelines:
|
|
- pipeline: vscode-7pm-kick-off
|
|
source: 'VS Code 7PM Kick-Off'
|
|
trigger: true
|
|
repositories:
|
|
- repository: 1ESPipelines
|
|
type: git
|
|
name: 1ESPipelineTemplates/1ESPipelineTemplates
|
|
ref: refs/tags/release
|
|
|
|
extends:
|
|
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
|
|
parameters:
|
|
sdl:
|
|
tsa:
|
|
enabled: true
|
|
configFile: $(Build.SourcesDirectory)/build/azure-pipelines/config/tsaoptions.json
|
|
codeql:
|
|
runSourceLanguagesInSourceAnalysis: true
|
|
compiled:
|
|
enabled: false
|
|
justificationForDisabling: "CodeQL breaks ESRP CodeSign on macOS (ICM #520035761, githubcustomers/microsoft-codeql-support#198)"
|
|
credscan:
|
|
suppressionsFile: $(Build.SourcesDirectory)/build/azure-pipelines/config/CredScanSuppressions.json
|
|
eslint:
|
|
enabled: true
|
|
enableExclusions: true
|
|
exclusionsFilePath: $(Build.SourcesDirectory)/.eslint-ignore
|
|
sourceAnalysisPool: 1es-windows-2022-x64
|
|
createAdoIssuesForJustificationsForDisablement: false
|
|
containers:
|
|
snapcraft:
|
|
image: vscodehub.azurecr.io/vscode-linux-build-agent:snapcraft-x64
|
|
ubuntu-2004-arm64:
|
|
image: onebranch.azurecr.io/linux/ubuntu-2004-arm64:latest
|
|
authenticatedContainerRegistries:
|
|
- registry: onebranch.azurecr.io
|
|
tenant: AME
|
|
identity: 1ESPipelineIdentity
|
|
stages:
|
|
- stage: Compile
|
|
jobs:
|
|
- job: Compile
|
|
timeoutInMinutes: 90
|
|
pool:
|
|
name: 1es-ubuntu-22.04-x64
|
|
os: linux
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/product-compile.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
|
|
- ${{ 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)) }}:
|
|
- stage: CompileCLI
|
|
dependsOn: []
|
|
jobs:
|
|
- ${{ if eq(parameters.VSCODE_BUILD_LINUX, true) }}:
|
|
- job: CLILinuxX64
|
|
pool:
|
|
name: 1es-ubuntu-22.04-x64
|
|
os: linux
|
|
steps:
|
|
- template: build/azure-pipelines/linux/cli-build-linux.yml@self
|
|
parameters:
|
|
VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_BUILD_LINUX: ${{ parameters.VSCODE_BUILD_LINUX }}
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), or(eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true))) }}:
|
|
- job: CLILinuxGnuARM
|
|
pool:
|
|
name: 1es-ubuntu-22.04-x64
|
|
os: linux
|
|
steps:
|
|
- template: build/azure-pipelines/linux/cli-build-linux.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_BUILD_LINUX_ARMHF: ${{ parameters.VSCODE_BUILD_LINUX_ARMHF }}
|
|
VSCODE_BUILD_LINUX_ARM64: ${{ parameters.VSCODE_BUILD_LINUX_ARM64 }}
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_ALPINE, true)) }}:
|
|
- job: CLIAlpineX64
|
|
pool:
|
|
name: 1es-ubuntu-22.04-x64
|
|
os: linux
|
|
steps:
|
|
- template: build/azure-pipelines/alpine/cli-build-alpine.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_BUILD_ALPINE: ${{ parameters.VSCODE_BUILD_ALPINE }}
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true)) }}:
|
|
- job: CLIAlpineARM64
|
|
pool:
|
|
name: 1es-mariner-2.0-arm64
|
|
os: linux
|
|
hostArchitecture: arm64
|
|
container: ubuntu-2004-arm64
|
|
steps:
|
|
- template: build/azure-pipelines/alpine/cli-build-alpine.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_BUILD_ALPINE_ARM64: ${{ parameters.VSCODE_BUILD_ALPINE_ARM64 }}
|
|
|
|
- ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
|
|
- job: CLIMacOSX64
|
|
pool:
|
|
name: Azure Pipelines
|
|
image: macOS-13
|
|
os: macOS
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/cli-build-darwin.yml@self
|
|
parameters:
|
|
VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_BUILD_MACOS: ${{ parameters.VSCODE_BUILD_MACOS }}
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
|
|
- job: CLIMacOSARM64
|
|
pool:
|
|
name: Azure Pipelines
|
|
image: macOS-13
|
|
os: macOS
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/cli-build-darwin.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_BUILD_MACOS_ARM64: ${{ parameters.VSCODE_BUILD_MACOS_ARM64 }}
|
|
|
|
- ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}:
|
|
- job: CLIWindowsX64
|
|
pool:
|
|
name: 1es-windows-2019-x64
|
|
os: windows
|
|
steps:
|
|
- template: build/azure-pipelines/win32/cli-build-win32.yml@self
|
|
parameters:
|
|
VSCODE_CHECK_ONLY: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_BUILD_WIN32: ${{ parameters.VSCODE_BUILD_WIN32 }}
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
|
|
- job: CLIWindowsARM64
|
|
pool:
|
|
name: 1es-windows-2019-x64
|
|
os: windows
|
|
steps:
|
|
- template: build/azure-pipelines/win32/cli-build-win32.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_BUILD_WIN32_ARM64: ${{ parameters.VSCODE_BUILD_WIN32_ARM64 }}
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}:
|
|
- stage: CustomSDL
|
|
dependsOn: []
|
|
pool:
|
|
name: 1es-windows-2019-x64
|
|
os: windows
|
|
jobs:
|
|
- job: WindowsSDL
|
|
variables:
|
|
- group: 'API Scan'
|
|
steps:
|
|
- template: build/azure-pipelines/win32/sdl-scan-win32.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: x64
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
|
|
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true)) }}:
|
|
- stage: Windows
|
|
dependsOn:
|
|
- Compile
|
|
- ${{ 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)) }}:
|
|
- CompileCLI
|
|
pool:
|
|
name: 1es-windows-2019-x64
|
|
os: windows
|
|
jobs:
|
|
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
|
- job: WindowsUnitTests
|
|
displayName: Unit Tests
|
|
timeoutInMinutes: 60
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/win32/product-build-win32.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_ARCH: x64
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: true
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
- job: WindowsIntegrationTests
|
|
displayName: Integration Tests
|
|
timeoutInMinutes: 60
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/win32/product-build-win32.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_ARCH: x64
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: true
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
- job: WindowsSmokeTests
|
|
displayName: Smoke Tests
|
|
timeoutInMinutes: 60
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/win32/product-build-win32.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_ARCH: x64
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: true
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32, true)) }}:
|
|
- job: Windows
|
|
timeoutInMinutes: 120
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/win32/product-build-win32.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_ARCH: x64
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
VSCODE_RUN_SMOKE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
|
|
- job: WindowsCLISign
|
|
timeoutInMinutes: 90
|
|
steps:
|
|
- template: build/azure-pipelines/win32/product-build-win32-cli-sign.yml@self
|
|
parameters:
|
|
VSCODE_BUILD_WIN32: ${{ parameters.VSCODE_BUILD_WIN32 }}
|
|
VSCODE_BUILD_WIN32_ARM64: ${{ parameters.VSCODE_BUILD_WIN32_ARM64 }}
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
|
|
- job: WindowsARM64
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: arm64
|
|
steps:
|
|
- template: build/azure-pipelines/win32/product-build-win32.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_ARCH: arm64
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
|
|
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_LINUX'], true)) }}:
|
|
- stage: Linux
|
|
dependsOn:
|
|
- Compile
|
|
- ${{ 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)) }}:
|
|
- CompileCLI
|
|
pool:
|
|
name: 1es-ubuntu-22.04-x64
|
|
os: linux
|
|
jobs:
|
|
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
|
- job: Linuxx64UnitTest
|
|
displayName: Unit Tests
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
NPM_ARCH: x64
|
|
DISPLAY: ":10"
|
|
steps:
|
|
- template: build/azure-pipelines/linux/product-build-linux.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: x64
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: true
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
- job: Linuxx64IntegrationTest
|
|
displayName: Integration Tests
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
NPM_ARCH: x64
|
|
DISPLAY: ":10"
|
|
steps:
|
|
- template: build/azure-pipelines/linux/product-build-linux.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: x64
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: true
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
- job: Linuxx64SmokeTest
|
|
displayName: Smoke Tests
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
NPM_ARCH: x64
|
|
DISPLAY: ":10"
|
|
steps:
|
|
- template: build/azure-pipelines/linux/product-build-linux.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: x64
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: true
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX, true)) }}:
|
|
- job: Linuxx64
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
NPM_ARCH: x64
|
|
DISPLAY: ":10"
|
|
steps:
|
|
- template: build/azure-pipelines/linux/product-build-linux.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: x64
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
VSCODE_RUN_SMOKE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX, true)) }}:
|
|
- job: LinuxSnap
|
|
dependsOn:
|
|
- Linuxx64
|
|
container: snapcraft
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/linux/snap-build-linux.yml@self
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:
|
|
- job: LinuxArmhf
|
|
variables:
|
|
VSCODE_ARCH: armhf
|
|
NPM_ARCH: arm
|
|
steps:
|
|
- template: build/azure-pipelines/linux/product-build-linux.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: armhf
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
|
|
- job: LinuxArm64
|
|
variables:
|
|
VSCODE_ARCH: arm64
|
|
NPM_ARCH: arm64
|
|
steps:
|
|
- template: build/azure-pipelines/linux/product-build-linux.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: arm64
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_LINUX_LEGACY_SERVER'], true)) }}:
|
|
- stage: LinuxLegacyServer
|
|
dependsOn:
|
|
- Compile
|
|
pool:
|
|
name: 1es-ubuntu-20.04-x64
|
|
os: linux
|
|
jobs:
|
|
- ${{ if eq(parameters.VSCODE_BUILD_LINUX_X64_LEGACY_SERVER, true) }}:
|
|
- job: Linuxx64LegacyServer
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
NPM_ARCH: x64
|
|
DISPLAY: ":10"
|
|
steps:
|
|
- template: build/azure-pipelines/linux/product-build-linux-legacy-server.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: x64
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
|
|
- ${{ if eq(parameters.VSCODE_BUILD_LINUX_ARMHF_LEGACY_SERVER, true) }}:
|
|
- job: LinuxArmhfLegacyServer
|
|
variables:
|
|
VSCODE_ARCH: armhf
|
|
NPM_ARCH: arm
|
|
steps:
|
|
- template: build/azure-pipelines/linux/product-build-linux-legacy-server.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: armhf
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
|
|
- ${{ if eq(parameters.VSCODE_BUILD_LINUX_ARM64_LEGACY_SERVER, true) }}:
|
|
- job: LinuxArm64LegacyServer
|
|
variables:
|
|
VSCODE_ARCH: arm64
|
|
NPM_ARCH: arm64
|
|
steps:
|
|
- template: build/azure-pipelines/linux/product-build-linux-legacy-server.yml@self
|
|
parameters:
|
|
VSCODE_ARCH: arm64
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_ALPINE'], true)) }}:
|
|
- stage: Alpine
|
|
dependsOn:
|
|
- Compile
|
|
- ${{ 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)) }}:
|
|
- CompileCLI
|
|
pool:
|
|
name: 1es-ubuntu-22.04-x64
|
|
os: linux
|
|
jobs:
|
|
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE, true) }}:
|
|
- job: LinuxAlpine
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
NPM_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/alpine/product-build-alpine.yml@self
|
|
|
|
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true) }}:
|
|
- job: LinuxAlpineArm64
|
|
timeoutInMinutes: 120
|
|
variables:
|
|
VSCODE_ARCH: arm64
|
|
NPM_ARCH: arm64
|
|
steps:
|
|
- template: build/azure-pipelines/alpine/product-build-alpine.yml@self
|
|
|
|
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_MACOS'], true)) }}:
|
|
- stage: macOS
|
|
dependsOn:
|
|
- Compile
|
|
- ${{ 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)) }}:
|
|
- CompileCLI
|
|
pool:
|
|
name: Azure Pipelines
|
|
image: macOS-13
|
|
os: macOS
|
|
variables:
|
|
BUILDSECMON_OPT_IN: true
|
|
jobs:
|
|
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
|
- job: macOSUnitTest
|
|
displayName: Unit Tests
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: true
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
- job: macOSIntegrationTest
|
|
displayName: Integration Tests
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: true
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
- job: macOSSmokeTest
|
|
displayName: Smoke Tests
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: true
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS, true)) }}:
|
|
- job: macOS
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
|
|
- ${{ if eq(parameters.VSCODE_STEP_ON_IT, false) }}:
|
|
- job: macOSTest
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
VSCODE_RUN_SMOKE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
|
|
|
- job: macOSSign
|
|
dependsOn:
|
|
- macOS
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin-sign.yml@self
|
|
|
|
- job: macOSCLISign
|
|
timeoutInMinutes: 90
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin-cli-sign.yml@self
|
|
parameters:
|
|
VSCODE_BUILD_MACOS: ${{ parameters.VSCODE_BUILD_MACOS }}
|
|
VSCODE_BUILD_MACOS_ARM64: ${{ parameters.VSCODE_BUILD_MACOS_ARM64 }}
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
|
|
- job: macOSARM64
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: arm64
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin.yml@self
|
|
parameters:
|
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
VSCODE_CIBUILD: ${{ variables.VSCODE_CIBUILD }}
|
|
VSCODE_RUN_UNIT_TESTS: false
|
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
VSCODE_RUN_SMOKE_TESTS: false
|
|
|
|
- job: macOSARM64Sign
|
|
dependsOn:
|
|
- macOSARM64
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: arm64
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin-sign.yml@self
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(variables['VSCODE_BUILD_MACOS_UNIVERSAL'], true)) }}:
|
|
- job: macOSUniversal
|
|
dependsOn:
|
|
- macOS
|
|
- macOSARM64
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: universal
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin-universal.yml@self
|
|
|
|
- job: macOSUniversalSign
|
|
dependsOn:
|
|
- macOSUniversal
|
|
timeoutInMinutes: 90
|
|
variables:
|
|
VSCODE_ARCH: universal
|
|
steps:
|
|
- template: build/azure-pipelines/darwin/product-build-darwin-sign.yml@self
|
|
|
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WEB'], true)) }}:
|
|
- stage: Web
|
|
dependsOn:
|
|
- Compile
|
|
pool:
|
|
name: 1es-ubuntu-22.04-x64
|
|
os: linux
|
|
jobs:
|
|
- ${{ if eq(parameters.VSCODE_BUILD_WEB, true) }}:
|
|
- job: Web
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
steps:
|
|
- template: build/azure-pipelines/web/product-build-web.yml@self
|
|
|
|
- ${{ if eq(variables['VSCODE_PUBLISH'], 'true') }}:
|
|
- stage: Publish
|
|
dependsOn: []
|
|
pool:
|
|
name: 1es-windows-2019-x64
|
|
os: windows
|
|
variables:
|
|
- name: BUILDS_API_URL
|
|
value: $(System.CollectionUri)$(System.TeamProject)/_apis/build/builds/$(Build.BuildId)/
|
|
jobs:
|
|
- job: PublishBuild
|
|
timeoutInMinutes: 180
|
|
displayName: Publish Build
|
|
steps:
|
|
- template: build/azure-pipelines/product-publish.yml@self
|
|
|
|
- ${{ if and(parameters.VSCODE_RELEASE, eq(variables['VSCODE_PRIVATE_BUILD'], false)) }}:
|
|
- stage: ApproveRelease
|
|
dependsOn: [] # run in parallel to compile stage
|
|
pool:
|
|
name: 1es-ubuntu-22.04-x64
|
|
os: linux
|
|
jobs:
|
|
- deployment: ApproveRelease
|
|
displayName: "Approve Release"
|
|
environment: "vscode"
|
|
variables:
|
|
skipComponentGovernanceDetection: true
|
|
strategy:
|
|
runOnce:
|
|
deploy:
|
|
steps:
|
|
- checkout: none
|
|
|
|
- ${{ if or(and(parameters.VSCODE_RELEASE, eq(variables['VSCODE_PRIVATE_BUILD'], false)), and(in(parameters.VSCODE_QUALITY, 'insider', 'exploration'), eq(variables['VSCODE_SCHEDULEDBUILD'], true))) }}:
|
|
- stage: Release
|
|
dependsOn:
|
|
- Publish
|
|
- ${{ if and(parameters.VSCODE_RELEASE, eq(variables['VSCODE_PRIVATE_BUILD'], false)) }}:
|
|
- ApproveRelease
|
|
pool:
|
|
name: 1es-ubuntu-22.04-x64
|
|
os: linux
|
|
jobs:
|
|
- job: ReleaseBuild
|
|
displayName: Release Build
|
|
steps:
|
|
- template: build/azure-pipelines/product-release.yml@self
|
|
parameters:
|
|
VSCODE_RELEASE: ${{ parameters.VSCODE_RELEASE }}
|