Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorJoão Moreno <joao.moreno@microsoft.com>2020-11-24 13:44:18 +0300
committerJoão Moreno <joao.moreno@microsoft.com>2020-11-24 13:45:39 +0300
commit7e4f90277da57cac7e5a8081878a400a77600e57 (patch)
tree55404b16b7389b4cb5b4a64ef93c70a48a0fffa6 /build
parent9a657db088e1e22f7ad14b5ef812bc76ee7f07f7 (diff)
run prettier over yml files
Diffstat (limited to 'build')
-rw-r--r--build/azure-pipelines/darwin/continuous-build-darwin.yml126
-rw-r--r--build/azure-pipelines/darwin/product-build-darwin.yml638
-rw-r--r--build/azure-pipelines/distro-build.yml54
-rw-r--r--build/azure-pipelines/exploration-build.yml50
-rw-r--r--build/azure-pipelines/linux/continuous-build-linux.yml182
-rw-r--r--build/azure-pipelines/linux/product-build-linux.yml428
-rw-r--r--build/azure-pipelines/product-build.yml340
-rw-r--r--build/azure-pipelines/product-compile.yml302
-rw-r--r--build/azure-pipelines/publish-types/publish-types.yml114
-rw-r--r--build/azure-pipelines/release.yml32
-rw-r--r--build/azure-pipelines/sync-mooncake.yml36
-rw-r--r--build/azure-pipelines/web/product-build-web.yml231
-rw-r--r--build/azure-pipelines/win32/continuous-build-win32.yml172
-rw-r--r--build/azure-pipelines/win32/product-build-win32-arm64.yml390
-rw-r--r--build/azure-pipelines/win32/product-build-win32.yml454
15 files changed, 1774 insertions, 1775 deletions
diff --git a/build/azure-pipelines/darwin/continuous-build-darwin.yml b/build/azure-pipelines/darwin/continuous-build-darwin.yml
index 3711d5c21d8..75c28106c5e 100644
--- a/build/azure-pipelines/darwin/continuous-build-darwin.yml
+++ b/build/azure-pipelines/darwin/continuous-build-darwin.yml
@@ -1,79 +1,79 @@
steps:
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'vscode-build-cache'
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "vscode-build-cache"
-- script: |
- CHILD_CONCURRENCY=1 yarn --frozen-lockfile
- displayName: Install Dependencies
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+ - script: |
+ CHILD_CONCURRENCY=1 yarn --frozen-lockfile
+ displayName: Install Dependencies
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
- inputs:
- keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'vscode-build-cache'
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ inputs:
+ keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "vscode-build-cache"
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-- script: |
- set -e
- yarn postinstall
- displayName: Run postinstall scripts
- condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
+ - script: |
+ set -e
+ yarn postinstall
+ displayName: Run postinstall scripts
+ condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
-- script: |
- yarn electron x64
- displayName: Download Electron
+ - script: |
+ yarn electron x64
+ displayName: Download Electron
-- script: |
- yarn monaco-compile-check
- displayName: Run Monaco Editor Checks
+ - script: |
+ yarn monaco-compile-check
+ displayName: Run Monaco Editor Checks
-- script: |
- yarn valid-layers-check
- displayName: Run Valid Layers Checks
+ - script: |
+ yarn valid-layers-check
+ displayName: Run Valid Layers Checks
-- script: |
- yarn compile
- displayName: Compile Sources
+ - script: |
+ yarn compile
+ displayName: Compile Sources
-- script: |
- yarn download-builtin-extensions
- displayName: Download Built-in Extensions
+ - script: |
+ yarn download-builtin-extensions
+ displayName: Download Built-in Extensions
-- script: |
- ./scripts/test.sh --tfs "Unit Tests"
- displayName: Run Unit Tests (Electron)
+ - script: |
+ ./scripts/test.sh --tfs "Unit Tests"
+ displayName: Run Unit Tests (Electron)
-- script: |
- yarn test-browser --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
- displayName: Run Unit Tests (Browser)
+ - script: |
+ yarn test-browser --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
+ displayName: Run Unit Tests (Browser)
-- script: |
- ./scripts/test-integration.sh --tfs "Integration Tests"
- displayName: Run Integration Tests (Electron)
+ - script: |
+ ./scripts/test-integration.sh --tfs "Integration Tests"
+ displayName: Run Integration Tests (Electron)
-- task: PublishPipelineArtifact@0
- inputs:
- artifactName: crash-dump-macos
- targetPath: .build/crashes
- displayName: 'Publish Crash Reports'
- continueOnError: true
- condition: failed()
+ - task: PublishPipelineArtifact@0
+ inputs:
+ artifactName: crash-dump-macos
+ targetPath: .build/crashes
+ displayName: "Publish Crash Reports"
+ continueOnError: true
+ condition: failed()
-- task: PublishTestResults@2
- displayName: Publish Tests Results
- inputs:
- testResultsFiles: '*-results.xml'
- searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
- condition: succeededOrFailed()
+ - task: PublishTestResults@2
+ displayName: Publish Tests Results
+ inputs:
+ testResultsFiles: "*-results.xml"
+ searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
+ condition: succeededOrFailed()
diff --git a/build/azure-pipelines/darwin/product-build-darwin.yml b/build/azure-pipelines/darwin/product-build-darwin.yml
index e73ba836973..1afa0d2ca5c 100644
--- a/build/azure-pipelines/darwin/product-build-darwin.yml
+++ b/build/azure-pipelines/darwin/product-build-darwin.yml
@@ -1,320 +1,320 @@
steps:
-- script: |
- mkdir -p .build
- echo -n $BUILD_SOURCEVERSION > .build/commit
- echo -n $VSCODE_QUALITY > .build/quality
- displayName: Prepare cache flag
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/commit, .build/quality'
- targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
- vstsFeed: 'npm-vscode'
- platformIndependent: true
- alias: 'Compilation'
-
-- script: |
- set -e
- exit 1
- displayName: Check RestoreCache
- condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
-
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
-
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
-
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
-
-- script: |
- set -e
-
- cat << EOF > ~/.netrc
- machine github.com
- login vscode
- password $(github-distro-mixin-password)
- EOF
-
- git config user.email "vscode@microsoft.com"
- git config user.name "VSCode"
- displayName: Prepare tooling
-
-- script: |
- set -e
- git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
- git fetch distro
- git merge $(node -p "require('./package.json').distro")
- displayName: Merge distro
-
-- script: |
- echo -n $VSCODE_ARCH > .build/arch
- displayName: Prepare arch cache flag
-
-- script: |
- npx https://aka.ms/enablesecurefeed standAlone
- displayName: Switch to Terrapin packages
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
-
-- script: |
- set -e
- sudo xcode-select -s /Applications/Xcode_12.2.app
- displayName: Switch to Xcode 12
- condition: eq(variables['VSCODE_ARCH'], 'arm64')
-
-- script: |
- set -e
- npm install -g node-gyp@7.1.0
- node-gyp --version
- displayName: Update node-gyp
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- script: |
- set -e
- export npm_config_arch=$(VSCODE_ARCH)
- export npm_config_node_gyp=$(which node-gyp)
- export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
- ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
- CHILD_CONCURRENCY=1 yarn --frozen-lockfile --verbose
- displayName: Install dependencies
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
- inputs:
- keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- script: |
- set -e
- export npm_config_arch=$(VSCODE_ARCH)
- export npm_config_node_gyp=$(which node-gyp)
- export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
- ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
- yarn postinstall
- displayName: Run postinstall scripts
- condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
-
-- script: |
- set -e
- export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
- ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
- yarn electron-rebuild
- displayName: Rebuild native modules for ARM64
- condition: eq(variables['VSCODE_ARCH'], 'arm64')
-
-- script: |
- set -e
- node build/azure-pipelines/mixin
- displayName: Mix in quality
-
-- script: |
- set -e
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- yarn gulp vscode-darwin-$(VSCODE_ARCH)-min-ci
- displayName: Build
-
-- script: |
- set -e
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- yarn gulp vscode-reh-darwin-min-ci
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- yarn gulp vscode-reh-web-darwin-min-ci
- displayName: Build reh
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
-
-- script: |
- set -e
- yarn electron $(VSCODE_ARCH)
- displayName: Download Electron
- condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
- security default-keychain -s $(agent.tempdirectory)/buildagent.keychain
- security unlock-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
- echo "$(macos-developer-certificate)" | base64 -D > $(agent.tempdirectory)/cert.p12
- security import $(agent.tempdirectory)/cert.p12 -k $(agent.tempdirectory)/buildagent.keychain -P "$(macos-developer-certificate-key)" -T /usr/bin/codesign
- security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd $(agent.tempdirectory)/buildagent.keychain
- VSCODE_ARCH="$(VSCODE_ARCH)" DEBUG=electron-osx-sign* node build/darwin/sign.js
- displayName: Set Hardened Entitlements
-
-- script: |
- set -e
- ./scripts/test.sh --build --tfs "Unit Tests"
- displayName: Run unit tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- yarn test-browser --build --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
- displayName: Run unit tests (Browser)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- # Figure out the full absolute path of the product we just built
- # including the remote server and configure the integration tests
- # to run with these builds instead of running out of sources.
- set -e
- APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
- APP_NAME="`ls $APP_ROOT | head -n 1`"
- INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
- VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
- ./scripts/test-integration.sh --build --tfs "Integration Tests"
- displayName: Run integration tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
- ./resources/server/test/test-web-integration.sh --browser webkit
- displayName: Run integration tests (Browser)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
- APP_NAME="`ls $APP_ROOT | head -n 1`"
- INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
- VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
- ./resources/server/test/test-remote-integration.sh
- displayName: Run remote integration tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
- APP_NAME="`ls $APP_ROOT | head -n 1`"
- yarn smoketest --build "$APP_ROOT/$APP_NAME"
- continueOnError: true
- displayName: Run smoke tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
- yarn smoketest --web --headless
- continueOnError: true
- displayName: Run smoke tests (Browser)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- task: PublishPipelineArtifact@0
- inputs:
- artifactName: crash-dump-macos-$(VSCODE_ARCH)
- targetPath: .build/crashes
- displayName: 'Publish Crash Reports'
- continueOnError: true
- condition: failed()
-
-- task: PublishTestResults@2
- displayName: Publish Tests Results
- inputs:
- testResultsFiles: '*-results.xml'
- searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
- condition: succeededOrFailed()
-
-- script: |
- set -e
- pushd $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) && zip -r -X -y $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip * && popd
- displayName: Archive build
-
-- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
- inputs:
- ConnectedServiceName: 'ESRP CodeSign'
- FolderPath: '$(agent.builddirectory)'
- Pattern: 'VSCode-darwin-$(VSCODE_ARCH).zip'
- signConfigType: inlineSignParams
- inlineOperation: |
- [
- {
- "keyCode": "CP-401337-Apple",
- "operationSetCode": "MacAppDeveloperSign",
- "parameters": [
- {
- "parameterName": "Hardening",
- "parameterValue": "--options=runtime"
- }
- ],
- "toolName": "sign",
- "toolVersion": "1.0"
- }
- ]
- SessionTimeout: 60
- displayName: Codesign
-
-- script: |
- zip -d $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip "*.pkg"
- displayName: Clean Archive
-
-- script: |
- APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
- APP_NAME="`ls $APP_ROOT | head -n 1`"
- BUNDLE_IDENTIFIER=$(node -p "require(\"$APP_ROOT/$APP_NAME/Contents/Resources/app/product.json\").darwinBundleIdentifier")
- echo "##vso[task.setvariable variable=BundleIdentifier]$BUNDLE_IDENTIFIER"
- displayName: Export bundle identifier
-
-- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
- inputs:
- ConnectedServiceName: 'ESRP CodeSign'
- FolderPath: '$(agent.builddirectory)'
- Pattern: 'VSCode-darwin-$(VSCODE_ARCH).zip'
- signConfigType: inlineSignParams
- inlineOperation: |
- [
- {
- "keyCode": "CP-401337-Apple",
- "operationSetCode": "MacAppNotarize",
- "parameters": [
- {
- "parameterName": "BundleId",
- "parameterValue": "$(BundleIdentifier)"
- }
- ],
- "toolName": "sign",
- "toolVersion": "1.0"
- }
- ]
- SessionTimeout: 60
- displayName: Notarization
-
-- script: |
- set -e
- APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
- APP_NAME="`ls $APP_ROOT | head -n 1`"
- "$APP_ROOT/$APP_NAME/Contents/Resources/app/bin/code" --export-default-configuration=.build
- displayName: Verify start after signing (export configuration)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
-
-- script: |
- set -e
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
- AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
- AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
- VSCODE_ARCH="$(VSCODE_ARCH)" \
- ./build/azure-pipelines/darwin/publish.sh
- displayName: Publish
-
-- script: |
- AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
- yarn gulp upload-vscode-configuration
- displayName: Upload configuration (for Bing settings search)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
- continueOnError: true
-
-- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
- displayName: 'Component Detection'
- continueOnError: true
+ - script: |
+ mkdir -p .build
+ echo -n $BUILD_SOURCEVERSION > .build/commit
+ echo -n $VSCODE_QUALITY > .build/quality
+ displayName: Prepare cache flag
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/commit, .build/quality"
+ targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
+ vstsFeed: "npm-vscode"
+ platformIndependent: true
+ alias: "Compilation"
+
+ - script: |
+ set -e
+ exit 1
+ displayName: Check RestoreCache
+ condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
+
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
+
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
+
+ - script: |
+ set -e
+
+ cat << EOF > ~/.netrc
+ machine github.com
+ login vscode
+ password $(github-distro-mixin-password)
+ EOF
+
+ git config user.email "vscode@microsoft.com"
+ git config user.name "VSCode"
+ displayName: Prepare tooling
+
+ - script: |
+ set -e
+ git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
+ git fetch distro
+ git merge $(node -p "require('./package.json').distro")
+ displayName: Merge distro
+
+ - script: |
+ echo -n $VSCODE_ARCH > .build/arch
+ displayName: Prepare arch cache flag
+
+ - script: |
+ npx https://aka.ms/enablesecurefeed standAlone
+ displayName: Switch to Terrapin packages
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+
+ - script: |
+ set -e
+ sudo xcode-select -s /Applications/Xcode_12.2.app
+ displayName: Switch to Xcode 12
+ condition: eq(variables['VSCODE_ARCH'], 'arm64')
+
+ - script: |
+ set -e
+ npm install -g node-gyp@7.1.0
+ node-gyp --version
+ displayName: Update node-gyp
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - script: |
+ set -e
+ export npm_config_arch=$(VSCODE_ARCH)
+ export npm_config_node_gyp=$(which node-gyp)
+ export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
+ ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
+ CHILD_CONCURRENCY=1 yarn --frozen-lockfile --verbose
+ displayName: Install dependencies
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ inputs:
+ keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - script: |
+ set -e
+ export npm_config_arch=$(VSCODE_ARCH)
+ export npm_config_node_gyp=$(which node-gyp)
+ export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
+ ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
+ yarn postinstall
+ displayName: Run postinstall scripts
+ condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
+
+ - script: |
+ set -e
+ export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
+ ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
+ yarn electron-rebuild
+ displayName: Rebuild native modules for ARM64
+ condition: eq(variables['VSCODE_ARCH'], 'arm64')
+
+ - script: |
+ set -e
+ node build/azure-pipelines/mixin
+ displayName: Mix in quality
+
+ - script: |
+ set -e
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ yarn gulp vscode-darwin-$(VSCODE_ARCH)-min-ci
+ displayName: Build
+
+ - script: |
+ set -e
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ yarn gulp vscode-reh-darwin-min-ci
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ yarn gulp vscode-reh-web-darwin-min-ci
+ displayName: Build reh
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
+
+ - script: |
+ set -e
+ yarn electron $(VSCODE_ARCH)
+ displayName: Download Electron
+ condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
+ security default-keychain -s $(agent.tempdirectory)/buildagent.keychain
+ security unlock-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
+ echo "$(macos-developer-certificate)" | base64 -D > $(agent.tempdirectory)/cert.p12
+ security import $(agent.tempdirectory)/cert.p12 -k $(agent.tempdirectory)/buildagent.keychain -P "$(macos-developer-certificate-key)" -T /usr/bin/codesign
+ security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd $(agent.tempdirectory)/buildagent.keychain
+ VSCODE_ARCH="$(VSCODE_ARCH)" DEBUG=electron-osx-sign* node build/darwin/sign.js
+ displayName: Set Hardened Entitlements
+
+ - script: |
+ set -e
+ ./scripts/test.sh --build --tfs "Unit Tests"
+ displayName: Run unit tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ yarn test-browser --build --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
+ displayName: Run unit tests (Browser)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ # Figure out the full absolute path of the product we just built
+ # including the remote server and configure the integration tests
+ # to run with these builds instead of running out of sources.
+ set -e
+ APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
+ APP_NAME="`ls $APP_ROOT | head -n 1`"
+ INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
+ VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
+ ./scripts/test-integration.sh --build --tfs "Integration Tests"
+ displayName: Run integration tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
+ ./resources/server/test/test-web-integration.sh --browser webkit
+ displayName: Run integration tests (Browser)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
+ APP_NAME="`ls $APP_ROOT | head -n 1`"
+ INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
+ VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
+ ./resources/server/test/test-remote-integration.sh
+ displayName: Run remote integration tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
+ APP_NAME="`ls $APP_ROOT | head -n 1`"
+ yarn smoketest --build "$APP_ROOT/$APP_NAME"
+ continueOnError: true
+ displayName: Run smoke tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
+ yarn smoketest --web --headless
+ continueOnError: true
+ displayName: Run smoke tests (Browser)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - task: PublishPipelineArtifact@0
+ inputs:
+ artifactName: crash-dump-macos-$(VSCODE_ARCH)
+ targetPath: .build/crashes
+ displayName: "Publish Crash Reports"
+ continueOnError: true
+ condition: failed()
+
+ - task: PublishTestResults@2
+ displayName: Publish Tests Results
+ inputs:
+ testResultsFiles: "*-results.xml"
+ searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
+ condition: succeededOrFailed()
+
+ - script: |
+ set -e
+ pushd $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) && zip -r -X -y $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip * && popd
+ displayName: Archive build
+
+ - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
+ inputs:
+ ConnectedServiceName: "ESRP CodeSign"
+ FolderPath: "$(agent.builddirectory)"
+ Pattern: "VSCode-darwin-$(VSCODE_ARCH).zip"
+ signConfigType: inlineSignParams
+ inlineOperation: |
+ [
+ {
+ "keyCode": "CP-401337-Apple",
+ "operationSetCode": "MacAppDeveloperSign",
+ "parameters": [
+ {
+ "parameterName": "Hardening",
+ "parameterValue": "--options=runtime"
+ }
+ ],
+ "toolName": "sign",
+ "toolVersion": "1.0"
+ }
+ ]
+ SessionTimeout: 60
+ displayName: Codesign
+
+ - script: |
+ zip -d $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip "*.pkg"
+ displayName: Clean Archive
+
+ - script: |
+ APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
+ APP_NAME="`ls $APP_ROOT | head -n 1`"
+ BUNDLE_IDENTIFIER=$(node -p "require(\"$APP_ROOT/$APP_NAME/Contents/Resources/app/product.json\").darwinBundleIdentifier")
+ echo "##vso[task.setvariable variable=BundleIdentifier]$BUNDLE_IDENTIFIER"
+ displayName: Export bundle identifier
+
+ - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
+ inputs:
+ ConnectedServiceName: "ESRP CodeSign"
+ FolderPath: "$(agent.builddirectory)"
+ Pattern: "VSCode-darwin-$(VSCODE_ARCH).zip"
+ signConfigType: inlineSignParams
+ inlineOperation: |
+ [
+ {
+ "keyCode": "CP-401337-Apple",
+ "operationSetCode": "MacAppNotarize",
+ "parameters": [
+ {
+ "parameterName": "BundleId",
+ "parameterValue": "$(BundleIdentifier)"
+ }
+ ],
+ "toolName": "sign",
+ "toolVersion": "1.0"
+ }
+ ]
+ SessionTimeout: 60
+ displayName: Notarization
+
+ - script: |
+ set -e
+ APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
+ APP_NAME="`ls $APP_ROOT | head -n 1`"
+ "$APP_ROOT/$APP_NAME/Contents/Resources/app/bin/code" --export-default-configuration=.build
+ displayName: Verify start after signing (export configuration)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
+
+ - script: |
+ set -e
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
+ AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
+ AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
+ VSCODE_ARCH="$(VSCODE_ARCH)" \
+ ./build/azure-pipelines/darwin/publish.sh
+ displayName: Publish
+
+ - script: |
+ AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
+ yarn gulp upload-vscode-configuration
+ displayName: Upload configuration (for Bing settings search)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
+ continueOnError: true
+
+ - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
+ displayName: "Component Detection"
+ continueOnError: true
diff --git a/build/azure-pipelines/distro-build.yml b/build/azure-pipelines/distro-build.yml
index 15526080abb..331fbf9675e 100644
--- a/build/azure-pipelines/distro-build.yml
+++ b/build/azure-pipelines/distro-build.yml
@@ -1,42 +1,42 @@
trigger:
branches:
- include: ['master', 'release/*']
+ include: ["master", "release/*"]
pr:
branches:
- include: ['master', 'release/*']
+ include: ["master", "release/*"]
steps:
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
-- script: |
- set -e
+ - script: |
+ set -e
- cat << EOF > ~/.netrc
- machine github.com
- login vscode
- password $(github-distro-mixin-password)
- EOF
+ cat << EOF > ~/.netrc
+ machine github.com
+ login vscode
+ password $(github-distro-mixin-password)
+ EOF
- git config user.email "vscode@microsoft.com"
- git config user.name "VSCode"
+ git config user.email "vscode@microsoft.com"
+ git config user.name "VSCode"
- git remote add distro "https://github.com/$VSCODE_MIXIN_REPO.git"
- git fetch distro
+ git remote add distro "https://github.com/$VSCODE_MIXIN_REPO.git"
+ git fetch distro
- # Push master branch into oss/master
- git push distro origin/master:refs/heads/oss/master
+ # Push master branch into oss/master
+ git push distro origin/master:refs/heads/oss/master
- # Push every release branch into oss/release
- git for-each-ref --format="%(refname:short)" refs/remotes/origin/release/* | sed 's/^origin\/\(.*\)$/\0:refs\/heads\/oss\/\1/' | xargs git push distro
+ # Push every release branch into oss/release
+ git for-each-ref --format="%(refname:short)" refs/remotes/origin/release/* | sed 's/^origin\/\(.*\)$/\0:refs\/heads\/oss\/\1/' | xargs git push distro
- git merge $(node -p "require('./package.json').distro")
+ git merge $(node -p "require('./package.json').distro")
- displayName: Sync & Merge Distro
+ displayName: Sync & Merge Distro
diff --git a/build/azure-pipelines/exploration-build.yml b/build/azure-pipelines/exploration-build.yml
index a6a7dfe71a6..d4788edfd1d 100644
--- a/build/azure-pipelines/exploration-build.yml
+++ b/build/azure-pipelines/exploration-build.yml
@@ -1,40 +1,40 @@
pool:
- vmImage: 'Ubuntu-16.04'
+ vmImage: "Ubuntu-16.04"
trigger:
branches:
- include: ['master']
+ include: ["master"]
pr:
branches:
- include: ['master']
+ include: ["master"]
steps:
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
-- script: |
- set -e
+ - script: |
+ set -e
- cat << EOF > ~/.netrc
- machine github.com
- login vscode
- password $(github-distro-mixin-password)
- EOF
+ cat << EOF > ~/.netrc
+ machine github.com
+ login vscode
+ password $(github-distro-mixin-password)
+ EOF
- git config user.email "vscode@microsoft.com"
- git config user.name "VSCode"
+ git config user.email "vscode@microsoft.com"
+ git config user.name "VSCode"
- git checkout origin/electron-11.x.y
- git merge origin/master
+ git checkout origin/electron-11.x.y
+ git merge origin/master
- # Push master branch into exploration branch
- git push origin HEAD:electron-11.x.y
+ # Push master branch into exploration branch
+ git push origin HEAD:electron-11.x.y
- displayName: Sync & Merge Exploration
+ displayName: Sync & Merge Exploration
diff --git a/build/azure-pipelines/linux/continuous-build-linux.yml b/build/azure-pipelines/linux/continuous-build-linux.yml
index 4bc21fc89a7..44cb9829472 100644
--- a/build/azure-pipelines/linux/continuous-build-linux.yml
+++ b/build/azure-pipelines/linux/continuous-build-linux.yml
@@ -1,92 +1,92 @@
steps:
-- script: |
- set -e
- sudo apt-get update
- sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0
- sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
- sudo chmod +x /etc/init.d/xvfb
- sudo update-rc.d xvfb defaults
- sudo service xvfb start
-
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
-
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'vscode-build-cache'
-
-- script: |
- CHILD_CONCURRENCY=1 yarn --frozen-lockfile
- displayName: Install Dependencies
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
- inputs:
- keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'vscode-build-cache'
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- script: |
- set -e
- yarn postinstall
- displayName: Run postinstall scripts
- condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
-
-- script: |
- yarn electron x64
- displayName: Download Electron
-
-- script: |
- yarn gulp hygiene
- displayName: Run Hygiene Checks
-
-- script: |
- yarn monaco-compile-check
- displayName: Run Monaco Editor Checks
-
-- script: |
- yarn valid-layers-check
- displayName: Run Valid Layers Checks
-
-- script: |
- yarn compile
- displayName: Compile Sources
-
-- script: |
- yarn download-builtin-extensions
- displayName: Download Built-in Extensions
-
-- script: |
- DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
- displayName: Run Unit Tests (Electron)
-
-- script: |
- DISPLAY=:10 yarn test-browser --browser chromium --tfs "Browser Unit Tests"
- displayName: Run Unit Tests (Browser)
-
-- script: |
- DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
- displayName: Run Integration Tests (Electron)
-
-- task: PublishPipelineArtifact@0
- inputs:
- artifactName: crash-dump-linux
- targetPath: .build/crashes
- displayName: 'Publish Crash Reports'
- continueOnError: true
- condition: failed()
-
-- task: PublishTestResults@2
- displayName: Publish Tests Results
- inputs:
- testResultsFiles: '*-results.xml'
- searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
- condition: succeededOrFailed()
+ - script: |
+ set -e
+ sudo apt-get update
+ sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0
+ sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
+ sudo chmod +x /etc/init.d/xvfb
+ sudo update-rc.d xvfb defaults
+ sudo service xvfb start
+
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "vscode-build-cache"
+
+ - script: |
+ CHILD_CONCURRENCY=1 yarn --frozen-lockfile
+ displayName: Install Dependencies
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ inputs:
+ keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "vscode-build-cache"
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - script: |
+ set -e
+ yarn postinstall
+ displayName: Run postinstall scripts
+ condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
+
+ - script: |
+ yarn electron x64
+ displayName: Download Electron
+
+ - script: |
+ yarn gulp hygiene
+ displayName: Run Hygiene Checks
+
+ - script: |
+ yarn monaco-compile-check
+ displayName: Run Monaco Editor Checks
+
+ - script: |
+ yarn valid-layers-check
+ displayName: Run Valid Layers Checks
+
+ - script: |
+ yarn compile
+ displayName: Compile Sources
+
+ - script: |
+ yarn download-builtin-extensions
+ displayName: Download Built-in Extensions
+
+ - script: |
+ DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
+ displayName: Run Unit Tests (Electron)
+
+ - script: |
+ DISPLAY=:10 yarn test-browser --browser chromium --tfs "Browser Unit Tests"
+ displayName: Run Unit Tests (Browser)
+
+ - script: |
+ DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
+ displayName: Run Integration Tests (Electron)
+
+ - task: PublishPipelineArtifact@0
+ inputs:
+ artifactName: crash-dump-linux
+ targetPath: .build/crashes
+ displayName: "Publish Crash Reports"
+ continueOnError: true
+ condition: failed()
+
+ - task: PublishTestResults@2
+ displayName: Publish Tests Results
+ inputs:
+ testResultsFiles: "*-results.xml"
+ searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
+ condition: succeededOrFailed()
diff --git a/build/azure-pipelines/linux/product-build-linux.yml b/build/azure-pipelines/linux/product-build-linux.yml
index 45d2cc29988..1baa784b50e 100644
--- a/build/azure-pipelines/linux/product-build-linux.yml
+++ b/build/azure-pipelines/linux/product-build-linux.yml
@@ -1,215 +1,215 @@
steps:
-- script: |
- mkdir -p .build
- echo -n $BUILD_SOURCEVERSION > .build/commit
- echo -n $VSCODE_QUALITY > .build/quality
- displayName: Prepare cache flag
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/commit, .build/quality'
- targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
- vstsFeed: 'npm-vscode'
- platformIndependent: true
- alias: 'Compilation'
-
-- script: |
- set -e
- exit 1
- displayName: Check RestoreCache
- condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
-
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
-
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
-
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
-
-- script: |
- set -e
- cat << EOF > ~/.netrc
- machine github.com
- login vscode
- password $(github-distro-mixin-password)
- EOF
-
- git config user.email "vscode@microsoft.com"
- git config user.name "VSCode"
- displayName: Prepare tooling
-
-- script: |
- set -e
- git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
- git fetch distro
- git merge $(node -p "require('./package.json').distro")
- displayName: Merge distro
-
-- script: |
- npx https://aka.ms/enablesecurefeed standAlone
- displayName: Switch to Terrapin packages
-
-- script: |
- echo -n $VSCODE_ARCH > .build/arch
- displayName: Prepare arch cache flag
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
-
-- script: |
- set -e
- CHILD_CONCURRENCY=1 npm_config_arch=$(NPM_ARCH) yarn --frozen-lockfile
- displayName: Install dependencies
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
- inputs:
- keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- script: |
- set -e
- yarn postinstall
- displayName: Run postinstall scripts
- condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
-
-- script: |
- set -e
- node build/azure-pipelines/mixin
- displayName: Mix in quality
-
-- script: |
- set -e
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- yarn gulp vscode-linux-$(VSCODE_ARCH)-min-ci
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- yarn gulp vscode-reh-linux-$(VSCODE_ARCH)-min-ci
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
- displayName: Build
-
-- script: |
- set -e
- DISPLAY=:10 ./scripts/test.sh --build --tfs "Unit Tests"
- displayName: Run unit tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- DISPLAY=:10 yarn test-browser --build --browser chromium --tfs "Browser Unit Tests"
- displayName: Run unit tests (Browser)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- # Figure out the full absolute path of the product we just built
- # including the remote server and configure the integration tests
- # to run with these builds instead of running out of sources.
- set -e
- APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
- APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
- INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
- VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
- DISPLAY=:10 ./scripts/test-integration.sh --build --tfs "Integration Tests"
- displayName: Run integration tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
- DISPLAY=:10 ./resources/server/test/test-web-integration.sh --browser chromium
- displayName: Run integration tests (Browser)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
- APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
- INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
- VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
- DISPLAY=:10 ./resources/server/test/test-remote-integration.sh
- displayName: Run remote integration tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- task: PublishPipelineArtifact@0
- inputs:
- artifactName: 'crash-dump-linux-$(VSCODE_ARCH)'
- targetPath: .build/crashes
- displayName: 'Publish Crash Reports'
- continueOnError: true
- condition: failed()
-
-- task: PublishTestResults@2
- displayName: Publish Tests Results
- inputs:
- testResultsFiles: '*-results.xml'
- searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
- condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -e
- yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-deb"
- yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-rpm"
- displayName: Build deb, rpm packages
-
-- script: |
- set -e
- yarn gulp "vscode-linux-$(VSCODE_ARCH)-prepare-snap"
- displayName: Prepare snap package
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
-
-# needed for code signing
-- task: UseDotNet@2
- displayName: 'Install .NET Core SDK 2.x'
- inputs:
- version: 2.x
-
-- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
- inputs:
- ConnectedServiceName: 'ESRP CodeSign'
- FolderPath: '.build/linux/rpm'
- Pattern: '*.rpm'
- signConfigType: inlineSignParams
- inlineOperation: |
- [
- {
- "keyCode": "CP-450779-Pgp",
- "operationSetCode": "LinuxSign",
- "parameters": [ ],
- "toolName": "sign",
- "toolVersion": "1.0"
- }
- ]
- SessionTimeout: 120
- displayName: Codesign rpm
-
-- script: |
- set -e
- AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
- AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- VSCODE_ARCH="$(VSCODE_ARCH)" \
- ./build/azure-pipelines/linux/publish.sh
- displayName: Publish
-
-- task: PublishPipelineArtifact@0
- displayName: 'Publish Pipeline Artifact'
- inputs:
- artifactName: 'snap-$(VSCODE_ARCH)'
- targetPath: .build/linux/snap-tarball
- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
-
-- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
- displayName: 'Component Detection'
- continueOnError: true
+ - script: |
+ mkdir -p .build
+ echo -n $BUILD_SOURCEVERSION > .build/commit
+ echo -n $VSCODE_QUALITY > .build/quality
+ displayName: Prepare cache flag
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/commit, .build/quality"
+ targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
+ vstsFeed: "npm-vscode"
+ platformIndependent: true
+ alias: "Compilation"
+
+ - script: |
+ set -e
+ exit 1
+ displayName: Check RestoreCache
+ condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
+
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
+
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
+
+ - script: |
+ set -e
+ cat << EOF > ~/.netrc
+ machine github.com
+ login vscode
+ password $(github-distro-mixin-password)
+ EOF
+
+ git config user.email "vscode@microsoft.com"
+ git config user.name "VSCode"
+ displayName: Prepare tooling
+
+ - script: |
+ set -e
+ git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
+ git fetch distro
+ git merge $(node -p "require('./package.json').distro")
+ displayName: Merge distro
+
+ - script: |
+ npx https://aka.ms/enablesecurefeed standAlone
+ displayName: Switch to Terrapin packages
+
+ - script: |
+ echo -n $VSCODE_ARCH > .build/arch
+ displayName: Prepare arch cache flag
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+
+ - script: |
+ set -e
+ CHILD_CONCURRENCY=1 npm_config_arch=$(NPM_ARCH) yarn --frozen-lockfile
+ displayName: Install dependencies
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ inputs:
+ keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - script: |
+ set -e
+ yarn postinstall
+ displayName: Run postinstall scripts
+ condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
+
+ - script: |
+ set -e
+ node build/azure-pipelines/mixin
+ displayName: Mix in quality
+
+ - script: |
+ set -e
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ yarn gulp vscode-linux-$(VSCODE_ARCH)-min-ci
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ yarn gulp vscode-reh-linux-$(VSCODE_ARCH)-min-ci
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
+ displayName: Build
+
+ - script: |
+ set -e
+ DISPLAY=:10 ./scripts/test.sh --build --tfs "Unit Tests"
+ displayName: Run unit tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ DISPLAY=:10 yarn test-browser --build --browser chromium --tfs "Browser Unit Tests"
+ displayName: Run unit tests (Browser)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ # Figure out the full absolute path of the product we just built
+ # including the remote server and configure the integration tests
+ # to run with these builds instead of running out of sources.
+ set -e
+ APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
+ APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
+ INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
+ VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
+ DISPLAY=:10 ./scripts/test-integration.sh --build --tfs "Integration Tests"
+ displayName: Run integration tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
+ DISPLAY=:10 ./resources/server/test/test-web-integration.sh --browser chromium
+ displayName: Run integration tests (Browser)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
+ APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
+ INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
+ VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
+ DISPLAY=:10 ./resources/server/test/test-remote-integration.sh
+ displayName: Run remote integration tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - task: PublishPipelineArtifact@0
+ inputs:
+ artifactName: "crash-dump-linux-$(VSCODE_ARCH)"
+ targetPath: .build/crashes
+ displayName: "Publish Crash Reports"
+ continueOnError: true
+ condition: failed()
+
+ - task: PublishTestResults@2
+ displayName: Publish Tests Results
+ inputs:
+ testResultsFiles: "*-results.xml"
+ searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
+ condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -e
+ yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-deb"
+ yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-rpm"
+ displayName: Build deb, rpm packages
+
+ - script: |
+ set -e
+ yarn gulp "vscode-linux-$(VSCODE_ARCH)-prepare-snap"
+ displayName: Prepare snap package
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
+
+ # needed for code signing
+ - task: UseDotNet@2
+ displayName: "Install .NET Core SDK 2.x"
+ inputs:
+ version: 2.x
+
+ - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
+ inputs:
+ ConnectedServiceName: "ESRP CodeSign"
+ FolderPath: ".build/linux/rpm"
+ Pattern: "*.rpm"
+ signConfigType: inlineSignParams
+ inlineOperation: |
+ [
+ {
+ "keyCode": "CP-450779-Pgp",
+ "operationSetCode": "LinuxSign",
+ "parameters": [ ],
+ "toolName": "sign",
+ "toolVersion": "1.0"
+ }
+ ]
+ SessionTimeout: 120
+ displayName: Codesign rpm
+
+ - script: |
+ set -e
+ AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
+ AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ VSCODE_ARCH="$(VSCODE_ARCH)" \
+ ./build/azure-pipelines/linux/publish.sh
+ displayName: Publish
+
+ - task: PublishPipelineArtifact@0
+ displayName: "Publish Pipeline Artifact"
+ inputs:
+ artifactName: "snap-$(VSCODE_ARCH)"
+ targetPath: .build/linux/snap-tarball
+ condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
+
+ - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
+ displayName: "Component Detection"
+ continueOnError: true
diff --git a/build/azure-pipelines/product-build.yml b/build/azure-pipelines/product-build.yml
index 28e3f2b4d05..57c0fac5d4e 100644
--- a/build/azure-pipelines/product-build.yml
+++ b/build/azure-pipelines/product-build.yml
@@ -2,180 +2,180 @@ trigger: none
pr: none
schedules:
-- cron: "0 5 * * Mon-Fri"
- displayName: Mon-Fri at 7:00
- branches:
- include:
- - master
+ - cron: "0 5 * * Mon-Fri"
+ displayName: Mon-Fri at 7:00
+ branches:
+ include:
+ - master
resources:
containers:
- - container: vscode-x64
- image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic
- endpoint: VSCodeHub
- options: --user 0:0
- - container: vscode-arm64
- image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-arm64
- endpoint: VSCodeHub
- - container: vscode-armhf
- image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-armhf
- endpoint: VSCodeHub
- - container: snapcraft
- image: snapcore/snapcraft:stable
+ - container: vscode-x64
+ image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic
+ endpoint: VSCodeHub
+ options: --user 0:0
+ - container: vscode-arm64
+ image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-arm64
+ endpoint: VSCodeHub
+ - container: vscode-armhf
+ image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-armhf
+ endpoint: VSCodeHub
+ - container: snapcraft
+ image: snapcore/snapcraft:stable
stages:
-- stage: Compile
- jobs:
- - job: Compile
+ - stage: Compile
+ jobs:
+ - job: Compile
+ pool:
+ vmImage: "Ubuntu-18.04"
+ container: vscode-x64
+ steps:
+ - template: product-compile.yml
+
+ - stage: Windows
+ dependsOn:
+ - Compile
+ condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
+ pool:
+ vmImage: VS2017-Win2016
+ jobs:
+ - job: Windows
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32'], 'true'))
+ timeoutInMinutes: 90
+ variables:
+ VSCODE_ARCH: x64
+ steps:
+ - template: win32/product-build-win32.yml
+
+ - job: Windows32
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32_32BIT'], 'true'))
+ timeoutInMinutes: 90
+ variables:
+ VSCODE_ARCH: ia32
+ steps:
+ - template: win32/product-build-win32.yml
+
+ - job: WindowsARM64
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32_ARM64'], 'true'))
+ timeoutInMinutes: 90
+ variables:
+ VSCODE_ARCH: arm64
+ steps:
+ - template: win32/product-build-win32-arm64.yml
+
+ - stage: Linux
+ dependsOn:
+ - Compile
+ condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
+ pool:
+ vmImage: "Ubuntu-18.04"
+ jobs:
+ - job: Linux
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
+ container: vscode-x64
+ variables:
+ VSCODE_ARCH: x64
+ NPM_ARCH: x64
+ steps:
+ - template: linux/product-build-linux.yml
+
+ - job: LinuxSnap
+ dependsOn:
+ - Linux
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
+ container: snapcraft
+ variables:
+ VSCODE_ARCH: x64
+ steps:
+ - template: linux/snap-build-linux.yml
+
+ - job: LinuxArmhf
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ARMHF'], 'true'))
+ container: vscode-armhf
+ variables:
+ VSCODE_ARCH: armhf
+ NPM_ARCH: armv7l
+ steps:
+ - template: linux/product-build-linux.yml
+
+ - job: LinuxArm64
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ARM64'], 'true'))
+ container: vscode-arm64
+ variables:
+ VSCODE_ARCH: arm64
+ NPM_ARCH: arm64
+ steps:
+ - template: linux/product-build-linux.yml
+
+ - job: LinuxAlpine
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ALPINE'], 'true'))
+ steps:
+ - template: linux/product-build-alpine.yml
+
+ - job: LinuxWeb
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_WEB'], 'true'))
+ variables:
+ VSCODE_ARCH: x64
+ steps:
+ - template: web/product-build-web.yml
+
+ - stage: macOS
+ dependsOn:
+ - Compile
+ condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
pool:
- vmImage: 'Ubuntu-18.04'
- container: vscode-x64
- steps:
- - template: product-compile.yml
-
-- stage: Windows
- dependsOn:
- - Compile
- condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
- pool:
- vmImage: VS2017-Win2016
- jobs:
- - job: Windows
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32'], 'true'))
- timeoutInMinutes: 90
- variables:
- VSCODE_ARCH: x64
- steps:
- - template: win32/product-build-win32.yml
-
- - job: Windows32
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32_32BIT'], 'true'))
- timeoutInMinutes: 90
- variables:
- VSCODE_ARCH: ia32
- steps:
- - template: win32/product-build-win32.yml
-
- - job: WindowsARM64
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32_ARM64'], 'true'))
- timeoutInMinutes: 90
- variables:
- VSCODE_ARCH: arm64
- steps:
- - template: win32/product-build-win32-arm64.yml
-
-- stage: Linux
- dependsOn:
- - Compile
- condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
- pool:
- vmImage: 'Ubuntu-18.04'
- jobs:
- - job: Linux
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
- container: vscode-x64
- variables:
- VSCODE_ARCH: x64
- NPM_ARCH: x64
- steps:
- - template: linux/product-build-linux.yml
-
- - job: LinuxSnap
+ vmImage: macOS-latest
+ jobs:
+ - job: macOS
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS'], 'true'))
+ timeoutInMinutes: 90
+ variables:
+ VSCODE_ARCH: x64
+ steps:
+ - template: darwin/product-build-darwin.yml
+
+ - stage: macOSARM64
dependsOn:
- - Linux
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
- container: snapcraft
- variables:
- VSCODE_ARCH: x64
- steps:
- - template: linux/snap-build-linux.yml
-
- - job: LinuxArmhf
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ARMHF'], 'true'))
- container: vscode-armhf
- variables:
- VSCODE_ARCH: armhf
- NPM_ARCH: armv7l
- steps:
- - template: linux/product-build-linux.yml
-
- - job: LinuxArm64
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ARM64'], 'true'))
- container: vscode-arm64
- variables:
- VSCODE_ARCH: arm64
- NPM_ARCH: arm64
- steps:
- - template: linux/product-build-linux.yml
-
- - job: LinuxAlpine
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ALPINE'], 'true'))
- steps:
- - template: linux/product-build-alpine.yml
-
- - job: LinuxWeb
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_WEB'], 'true'))
- variables:
- VSCODE_ARCH: x64
- steps:
- - template: web/product-build-web.yml
-
-- stage: macOS
- dependsOn:
- - Compile
- condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
- pool:
- vmImage: macOS-latest
- jobs:
- - job: macOS
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS'], 'true'))
- timeoutInMinutes: 90
- variables:
- VSCODE_ARCH: x64
- steps:
- - template: darwin/product-build-darwin.yml
-
-- stage: macOSARM64
- dependsOn:
- - Compile
- condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
- pool:
- vmImage: macOS-latest
- jobs:
- - job: macOSARM64
- condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS_ARM64'], 'true'))
- timeoutInMinutes: 90
- variables:
- VSCODE_ARCH: arm64
- steps:
- - template: darwin/product-build-darwin.yml
-
-- stage: Mooncake
- dependsOn:
- - Windows
- - Linux
- - macOS
- - macOSARM64
- condition: and(succeededOrFailed(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
- pool:
- vmImage: 'Ubuntu-18.04'
- jobs:
- - job: SyncMooncake
- displayName: Sync Mooncake
- steps:
- - template: sync-mooncake.yml
-
-- stage: Publish
- dependsOn:
- - Windows
- - Linux
- - macOS
- - macOSARM64
- condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'), or(eq(variables['VSCODE_RELEASE'], 'true'), and(or(eq(variables['VSCODE_QUALITY'], 'insider'), eq(variables['VSCODE_QUALITY'], 'exploration')), eq(variables['Build.Reason'], 'Schedule'))))
- pool:
- vmImage: 'Ubuntu-18.04'
- jobs:
- - job: BuildService
- displayName: Build Service
- steps:
- - template: release.yml
+ - Compile
+ condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
+ pool:
+ vmImage: macOS-latest
+ jobs:
+ - job: macOSARM64
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS_ARM64'], 'true'))
+ timeoutInMinutes: 90
+ variables:
+ VSCODE_ARCH: arm64
+ steps:
+ - template: darwin/product-build-darwin.yml
+
+ - stage: Mooncake
+ dependsOn:
+ - Windows
+ - Linux
+ - macOS
+ - macOSARM64
+ condition: and(succeededOrFailed(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
+ pool:
+ vmImage: "Ubuntu-18.04"
+ jobs:
+ - job: SyncMooncake
+ displayName: Sync Mooncake
+ steps:
+ - template: sync-mooncake.yml
+
+ - stage: Publish
+ dependsOn:
+ - Windows
+ - Linux
+ - macOS
+ - macOSARM64
+ condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'), or(eq(variables['VSCODE_RELEASE'], 'true'), and(or(eq(variables['VSCODE_QUALITY'], 'insider'), eq(variables['VSCODE_QUALITY'], 'exploration')), eq(variables['Build.Reason'], 'Schedule'))))
+ pool:
+ vmImage: "Ubuntu-18.04"
+ jobs:
+ - job: BuildService
+ displayName: Build Service
+ steps:
+ - template: release.yml
diff --git a/build/azure-pipelines/product-compile.yml b/build/azure-pipelines/product-compile.yml
index a086149f053..5ea3587a31f 100644
--- a/build/azure-pipelines/product-compile.yml
+++ b/build/azure-pipelines/product-compile.yml
@@ -1,152 +1,152 @@
steps:
-- script: |
- mkdir -p .build
- echo -n $BUILD_SOURCEVERSION > .build/commit
- echo -n $VSCODE_QUALITY > .build/quality
- displayName: Prepare cache flag
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/commit, .build/quality'
- targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
- vstsFeed: 'npm-vscode'
- platformIndependent: true
- alias: 'Compilation'
- dryRun: true
-
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- set -e
- cat << EOF > ~/.netrc
- machine github.com
- login vscode
- password $(github-distro-mixin-password)
- EOF
-
- git config user.email "vscode@microsoft.com"
- git config user.name "VSCode"
- displayName: Prepare tooling
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- set -e
- git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
- git fetch distro
- git merge $(node -p "require('./package.json').distro")
- displayName: Merge distro
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- npx https://aka.ms/enablesecurefeed standAlone
- displayName: Switch to Terrapin packages
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- echo -n $VSCODE_ARCH > .build/arch
- displayName: Prepare arch cache flag
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- set -e
- CHILD_CONCURRENCY=1 yarn --frozen-lockfile
- displayName: Install dependencies
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
- inputs:
- keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
-
-- script: |
- set -e
- yarn postinstall
- displayName: Run postinstall scripts
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))
-
-# Mixin must run before optimize, because the CSS loader will
-# inline small SVGs
-- script: |
- set -e
- node build/azure-pipelines/mixin
- displayName: Mix in quality
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- set -e
- yarn gulp hygiene
- yarn monaco-compile-check
- yarn valid-layers-check
- displayName: Run hygiene, monaco compile & valid layers checks
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-
-- script: |
- set -
- ./build/azure-pipelines/common/extract-telemetry.sh
- displayName: Extract Telemetry
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- set -e
- AZURE_WEBVIEW_STORAGE_ACCESS_KEY="$(vscode-webview-storage-key)" \
- ./build/azure-pipelines/common/publish-webview.sh
- displayName: Publish Webview
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- set -e
- yarn gulp compile-build
- yarn gulp compile-extensions-build
- yarn gulp minify-vscode
- yarn gulp minify-vscode-reh
- yarn gulp minify-vscode-reh-web
- displayName: Compile
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- set -e
- AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
- node build/azure-pipelines/upload-sourcemaps
- displayName: Upload sourcemaps
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- script: |
- set -e
- VERSION=`node -p "require(\"./package.json\").version"`
- AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
- node build/azure-pipelines/common/createBuild.js $VERSION
- displayName: Create build
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/commit, .build/quality'
- targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
- vstsFeed: 'npm-vscode'
- platformIndependent: true
- alias: 'Compilation'
- condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+ - script: |
+ mkdir -p .build
+ echo -n $BUILD_SOURCEVERSION > .build/commit
+ echo -n $VSCODE_QUALITY > .build/quality
+ displayName: Prepare cache flag
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/commit, .build/quality"
+ targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
+ vstsFeed: "npm-vscode"
+ platformIndependent: true
+ alias: "Compilation"
+ dryRun: true
+
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ set -e
+ cat << EOF > ~/.netrc
+ machine github.com
+ login vscode
+ password $(github-distro-mixin-password)
+ EOF
+
+ git config user.email "vscode@microsoft.com"
+ git config user.name "VSCode"
+ displayName: Prepare tooling
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ set -e
+ git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
+ git fetch distro
+ git merge $(node -p "require('./package.json').distro")
+ displayName: Merge distro
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ npx https://aka.ms/enablesecurefeed standAlone
+ displayName: Switch to Terrapin packages
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ echo -n $VSCODE_ARCH > .build/arch
+ displayName: Prepare arch cache flag
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ set -e
+ CHILD_CONCURRENCY=1 yarn --frozen-lockfile
+ displayName: Install dependencies
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ inputs:
+ keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
+
+ - script: |
+ set -e
+ yarn postinstall
+ displayName: Run postinstall scripts
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))
+
+ # Mixin must run before optimize, because the CSS loader will
+ # inline small SVGs
+ - script: |
+ set -e
+ node build/azure-pipelines/mixin
+ displayName: Mix in quality
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ set -e
+ yarn gulp hygiene
+ yarn monaco-compile-check
+ yarn valid-layers-check
+ displayName: Run hygiene, monaco compile & valid layers checks
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+
+ - script: |
+ set -
+ ./build/azure-pipelines/common/extract-telemetry.sh
+ displayName: Extract Telemetry
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ set -e
+ AZURE_WEBVIEW_STORAGE_ACCESS_KEY="$(vscode-webview-storage-key)" \
+ ./build/azure-pipelines/common/publish-webview.sh
+ displayName: Publish Webview
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ set -e
+ yarn gulp compile-build
+ yarn gulp compile-extensions-build
+ yarn gulp minify-vscode
+ yarn gulp minify-vscode-reh
+ yarn gulp minify-vscode-reh-web
+ displayName: Compile
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ set -e
+ AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
+ node build/azure-pipelines/upload-sourcemaps
+ displayName: Upload sourcemaps
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - script: |
+ set -e
+ VERSION=`node -p "require(\"./package.json\").version"`
+ AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
+ node build/azure-pipelines/common/createBuild.js $VERSION
+ displayName: Create build
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/commit, .build/quality"
+ targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
+ vstsFeed: "npm-vscode"
+ platformIndependent: true
+ alias: "Compilation"
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
diff --git a/build/azure-pipelines/publish-types/publish-types.yml b/build/azure-pipelines/publish-types/publish-types.yml
index f3dfc213a7b..0e3f4e4daa4 100644
--- a/build/azure-pipelines/publish-types/publish-types.yml
+++ b/build/azure-pipelines/publish-types/publish-types.yml
@@ -2,82 +2,82 @@
trigger:
branches:
- include: ['refs/tags/*']
+ include: ["refs/tags/*"]
pr: none
steps:
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
-- bash: |
- TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
- CHANNEL="G1C14HJ2F"
+ - bash: |
+ TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
+ CHANNEL="G1C14HJ2F"
- if [ "$TAG_VERSION" == "1.999.0" ]; then
- MESSAGE="<!here>. Someone pushed 1.999.0 tag. Please delete it ASAP from remote and local."
+ if [ "$TAG_VERSION" == "1.999.0" ]; then
+ MESSAGE="<!here>. Someone pushed 1.999.0 tag. Please delete it ASAP from remote and local."
- curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
- -H 'Content-type: application/json; charset=utf-8' \
- --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
- https://slack.com/api/chat.postMessage
+ curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
+ -H 'Content-type: application/json; charset=utf-8' \
+ --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
+ https://slack.com/api/chat.postMessage
- exit 1
- fi
- displayName: Check 1.999.0 tag
+ exit 1
+ fi
+ displayName: Check 1.999.0 tag
-- bash: |
- # Install build dependencies
- (cd build && yarn)
- node build/azure-pipelines/publish-types/check-version.js
- displayName: Check version
+ - bash: |
+ # Install build dependencies
+ (cd build && yarn)
+ node build/azure-pipelines/publish-types/check-version.js
+ displayName: Check version
-- bash: |
- git config --global user.email "vscode@microsoft.com"
- git config --global user.name "VSCode"
+ - bash: |
+ git config --global user.email "vscode@microsoft.com"
+ git config --global user.name "VSCode"
- git clone https://$(GITHUB_TOKEN)@github.com/DefinitelyTyped/DefinitelyTyped.git --depth=1
- node build/azure-pipelines/publish-types/update-types.js
+ git clone https://$(GITHUB_TOKEN)@github.com/DefinitelyTyped/DefinitelyTyped.git --depth=1
+ node build/azure-pipelines/publish-types/update-types.js
- TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
+ TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
- cd DefinitelyTyped
+ cd DefinitelyTyped
- git diff --color | cat
- git add -A
- git status
- git checkout -b "vscode-types-$TAG_VERSION"
- git commit -m "VS Code $TAG_VERSION Extension API"
- git push origin "vscode-types-$TAG_VERSION"
+ git diff --color | cat
+ git add -A
+ git status
+ git checkout -b "vscode-types-$TAG_VERSION"
+ git commit -m "VS Code $TAG_VERSION Extension API"
+ git push origin "vscode-types-$TAG_VERSION"
- displayName: Push update to DefinitelyTyped
+ displayName: Push update to DefinitelyTyped
-- bash: |
- TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
- CHANNEL="G1C14HJ2F"
+ - bash: |
+ TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
+ CHANNEL="G1C14HJ2F"
- MESSAGE="DefinitelyTyped/DefinitelyTyped#vscode-types-$TAG_VERSION created. Endgame master, please open this link, examine changes and create a PR:"
- LINK="https://github.com/DefinitelyTyped/DefinitelyTyped/compare/vscode-types-$TAG_VERSION?quick_pull=1&body=Updating%20VS%20Code%20Extension%20API.%20See%20https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode%2Fissues%2F70175%20for%20details."
- MESSAGE2="[@eamodio, @jrieken, @kmaetzel, @egamma]. Please review and merge PR to publish @types/vscode."
+ MESSAGE="DefinitelyTyped/DefinitelyTyped#vscode-types-$TAG_VERSION created. Endgame master, please open this link, examine changes and create a PR:"
+ LINK="https://github.com/DefinitelyTyped/DefinitelyTyped/compare/vscode-types-$TAG_VERSION?quick_pull=1&body=Updating%20VS%20Code%20Extension%20API.%20See%20https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode%2Fissues%2F70175%20for%20details."
+ MESSAGE2="[@eamodio, @jrieken, @kmaetzel, @egamma]. Please review and merge PR to publish @types/vscode."
- curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
- -H 'Content-type: application/json; charset=utf-8' \
- --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
- https://slack.com/api/chat.postMessage
+ curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
+ -H 'Content-type: application/json; charset=utf-8' \
+ --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
+ https://slack.com/api/chat.postMessage
- curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
- -H 'Content-type: application/json; charset=utf-8' \
- --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$LINK"'"}' \
- https://slack.com/api/chat.postMessage
+ curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
+ -H 'Content-type: application/json; charset=utf-8' \
+ --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$LINK"'"}' \
+ https://slack.com/api/chat.postMessage
- curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
- -H 'Content-type: application/json; charset=utf-8' \
- --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE2"'"}' \
- https://slack.com/api/chat.postMessage
+ curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
+ -H 'Content-type: application/json; charset=utf-8' \
+ --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE2"'"}' \
+ https://slack.com/api/chat.postMessage
- displayName: Send message on Slack
+ displayName: Send message on Slack
diff --git a/build/azure-pipelines/release.yml b/build/azure-pipelines/release.yml
index f5365b80c7e..edd293c04f6 100644
--- a/build/azure-pipelines/release.yml
+++ b/build/azure-pipelines/release.yml
@@ -1,22 +1,22 @@
steps:
-- task: NodeTool@0
- inputs:
- versionSpec: "10.x"
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "10.x"
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
-- script: |
- set -e
+ - script: |
+ set -e
- (cd build ; yarn)
+ (cd build ; yarn)
- AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
- node build/azure-pipelines/common/releaseBuild.js
+ AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
+ node build/azure-pipelines/common/releaseBuild.js
diff --git a/build/azure-pipelines/sync-mooncake.yml b/build/azure-pipelines/sync-mooncake.yml
index 810024fced1..280c9e6372d 100644
--- a/build/azure-pipelines/sync-mooncake.yml
+++ b/build/azure-pipelines/sync-mooncake.yml
@@ -1,24 +1,24 @@
steps:
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
-- script: |
- set -e
+ - script: |
+ set -e
- (cd build ; yarn)
+ (cd build ; yarn)
- AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
- AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
- MOONCAKE_STORAGE_ACCESS_KEY="$(vscode-mooncake-storage-key)" \
- node build/azure-pipelines/common/sync-mooncake.js "$VSCODE_QUALITY"
+ AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
+ AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
+ MOONCAKE_STORAGE_ACCESS_KEY="$(vscode-mooncake-storage-key)" \
+ node build/azure-pipelines/common/sync-mooncake.js "$VSCODE_QUALITY"
diff --git a/build/azure-pipelines/web/product-build-web.yml b/build/azure-pipelines/web/product-build-web.yml
index f7588916064..23a755f3f6f 100644
--- a/build/azure-pipelines/web/product-build-web.yml
+++ b/build/azure-pipelines/web/product-build-web.yml
@@ -1,117 +1,116 @@
steps:
-- script: |
- mkdir -p .build
- echo -n $BUILD_SOURCEVERSION > .build/commit
- echo -n $VSCODE_QUALITY > .build/quality
- displayName: Prepare cache flag
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/commit, .build/quality'
- targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
- vstsFeed: 'npm-vscode'
- platformIndependent: true
- alias: 'Compilation'
-
-- script: |
- set -e
- exit 1
- displayName: Check RestoreCache
- condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
-
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
-
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
-
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
-
-- script: |
- set -e
- cat << EOF > ~/.netrc
- machine github.com
- login vscode
- password $(github-distro-mixin-password)
- EOF
-
- git config user.email "vscode@microsoft.com"
- git config user.name "VSCode"
- displayName: Prepare tooling
-
-- script: |
- set -e
- git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
- git fetch distro
- git merge $(node -p "require('./package.json').distro")
- displayName: Merge distro
-
-- script: |
- npx https://aka.ms/enablesecurefeed standAlone
- displayName: Switch to Terrapin packages
-
-# - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
-# inputs:
-# keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
-# targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
-# vstsFeed: 'npm-vscode'
-
-- script: |
- set -e
- CHILD_CONCURRENCY=1 yarn --frozen-lockfile
- displayName: Install dependencies
- # condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-# - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
-# inputs:
-# keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
-# targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
-# vstsFeed: 'npm-vscode'
-# condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-# - script: |
-# set -e
-# yarn postinstall
-# displayName: Run postinstall scripts
-# condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
-
-- script: |
- set -e
- node build/azure-pipelines/mixin
- displayName: Mix in quality
-
-- script: |
- set -e
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- yarn gulp vscode-web-min-ci
- displayName: Build
-
-- script: |
- set -e
- AZURE_STORAGE_ACCOUNT="$(web-storage-account)" \
- AZURE_STORAGE_ACCESS_KEY="$(web-storage-key)" \
- node build/azure-pipelines/upload-cdn.js
- displayName: Upload to CDN
-
- # upload only the workbench.web.api.js source maps because
- # we just compiled these bits in the previous step and the
- # general task to upload source maps has already been run
-- script: |
- set -e
- AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
- node build/azure-pipelines/upload-sourcemaps out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.api.js.map
- displayName: Upload sourcemaps (Web)
-
-- script: |
- set -e
- AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
- AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
- VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
- ./build/azure-pipelines/web/publish.sh
- displayName: Publish
+ - script: |
+ mkdir -p .build
+ echo -n $BUILD_SOURCEVERSION > .build/commit
+ echo -n $VSCODE_QUALITY > .build/quality
+ displayName: Prepare cache flag
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/commit, .build/quality"
+ targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
+ vstsFeed: "npm-vscode"
+ platformIndependent: true
+ alias: "Compilation"
+
+ - script: |
+ set -e
+ exit 1
+ displayName: Check RestoreCache
+ condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
+
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
+
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
+
+ - script: |
+ set -e
+ cat << EOF > ~/.netrc
+ machine github.com
+ login vscode
+ password $(github-distro-mixin-password)
+ EOF
+
+ git config user.email "vscode@microsoft.com"
+ git config user.name "VSCode"
+ displayName: Prepare tooling
+
+ - script: |
+ set -e
+ git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
+ git fetch distro
+ git merge $(node -p "require('./package.json').distro")
+ displayName: Merge distro
+
+ - script: |
+ npx https://aka.ms/enablesecurefeed standAlone
+ displayName: Switch to Terrapin packages
+
+ # - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ # inputs:
+ # keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
+ # targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
+ # vstsFeed: 'npm-vscode'
+ - script: |
+ set -e
+ CHILD_CONCURRENCY=1 yarn --frozen-lockfile
+ displayName: Install dependencies
+ # condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ # - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ # inputs:
+ # keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
+ # targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
+ # vstsFeed: 'npm-vscode'
+ # condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ # - script: |
+ # set -e
+ # yarn postinstall
+ # displayName: Run postinstall scripts
+ # condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
+
+ - script: |
+ set -e
+ node build/azure-pipelines/mixin
+ displayName: Mix in quality
+
+ - script: |
+ set -e
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ yarn gulp vscode-web-min-ci
+ displayName: Build
+
+ - script: |
+ set -e
+ AZURE_STORAGE_ACCOUNT="$(web-storage-account)" \
+ AZURE_STORAGE_ACCESS_KEY="$(web-storage-key)" \
+ node build/azure-pipelines/upload-cdn.js
+ displayName: Upload to CDN
+
+ # upload only the workbench.web.api.js source maps because
+ # we just compiled these bits in the previous step and the
+ # general task to upload source maps has already been run
+ - script: |
+ set -e
+ AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
+ node build/azure-pipelines/upload-sourcemaps out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.api.js.map
+ displayName: Upload sourcemaps (Web)
+
+ - script: |
+ set -e
+ AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
+ AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
+ VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
+ ./build/azure-pipelines/web/publish.sh
+ displayName: Publish
diff --git a/build/azure-pipelines/win32/continuous-build-win32.yml b/build/azure-pipelines/win32/continuous-build-win32.yml
index 6dd508a7c81..7bd18707381 100644
--- a/build/azure-pipelines/win32/continuous-build-win32.yml
+++ b/build/azure-pipelines/win32/continuous-build-win32.yml
@@ -1,87 +1,87 @@
steps:
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
-
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
-
-- task: UsePythonVersion@0
- inputs:
- versionSpec: '2.x'
- addToPath: true
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'vscode-build-cache'
-
-- powershell: |
- yarn --frozen-lockfile
- env:
- CHILD_CONCURRENCY: "1"
- displayName: Install Dependencies
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
- inputs:
- keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'vscode-build-cache'
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { yarn postinstall }
- displayName: Run postinstall scripts
- condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
-
-- powershell: |
- yarn electron
- displayName: Download Electron
-
-- powershell: |
- yarn monaco-compile-check
- displayName: Run Monaco Editor Checks
-
-- script: |
- yarn valid-layers-check
- displayName: Run Valid Layers Checks
-
-- powershell: |
- yarn compile
- displayName: Compile Sources
-
-- powershell: |
- yarn download-builtin-extensions
- displayName: Download Built-in Extensions
-
-- powershell: |
- .\scripts\test.bat --tfs "Unit Tests"
- displayName: Run Unit Tests (Electron)
-
-- powershell: |
- yarn test-browser --browser chromium --browser firefox --tfs "Browser Unit Tests"
- displayName: Run Unit Tests (Browser)
-
-- powershell: |
- .\scripts\test-integration.bat --tfs "Integration Tests"
- displayName: Run Integration Tests (Electron)
-
-- task: PublishPipelineArtifact@0
- displayName: 'Publish Crash Reports'
- inputs:
- artifactName: crash-dump-windows
- targetPath: .build\crashes
- continueOnError: true
- condition: failed()
-
-- task: PublishTestResults@2
- displayName: Publish Tests Results
- inputs:
- testResultsFiles: '*-results.xml'
- searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
- condition: succeededOrFailed()
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
+
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: "2.x"
+ addToPath: true
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "vscode-build-cache"
+
+ - powershell: |
+ yarn --frozen-lockfile
+ env:
+ CHILD_CONCURRENCY: "1"
+ displayName: Install Dependencies
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ inputs:
+ keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "vscode-build-cache"
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { yarn postinstall }
+ displayName: Run postinstall scripts
+ condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
+
+ - powershell: |
+ yarn electron
+ displayName: Download Electron
+
+ - powershell: |
+ yarn monaco-compile-check
+ displayName: Run Monaco Editor Checks
+
+ - script: |
+ yarn valid-layers-check
+ displayName: Run Valid Layers Checks
+
+ - powershell: |
+ yarn compile
+ displayName: Compile Sources
+
+ - powershell: |
+ yarn download-builtin-extensions
+ displayName: Download Built-in Extensions
+
+ - powershell: |
+ .\scripts\test.bat --tfs "Unit Tests"
+ displayName: Run Unit Tests (Electron)
+
+ - powershell: |
+ yarn test-browser --browser chromium --browser firefox --tfs "Browser Unit Tests"
+ displayName: Run Unit Tests (Browser)
+
+ - powershell: |
+ .\scripts\test-integration.bat --tfs "Integration Tests"
+ displayName: Run Integration Tests (Electron)
+
+ - task: PublishPipelineArtifact@0
+ displayName: "Publish Crash Reports"
+ inputs:
+ artifactName: crash-dump-windows
+ targetPath: .build\crashes
+ continueOnError: true
+ condition: failed()
+
+ - task: PublishTestResults@2
+ displayName: Publish Tests Results
+ inputs:
+ testResultsFiles: "*-results.xml"
+ searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
+ condition: succeededOrFailed()
diff --git a/build/azure-pipelines/win32/product-build-win32-arm64.yml b/build/azure-pipelines/win32/product-build-win32-arm64.yml
index 29c795dfe15..9b75df2fd8d 100644
--- a/build/azure-pipelines/win32/product-build-win32-arm64.yml
+++ b/build/azure-pipelines/win32/product-build-win32-arm64.yml
@@ -1,196 +1,196 @@
steps:
-- powershell: |
- mkdir .build -ea 0
- "$env:BUILD_SOURCEVERSION" | Out-File -Encoding ascii -NoNewLine .build\commit
- "$env:VSCODE_QUALITY" | Out-File -Encoding ascii -NoNewLine .build\quality
- displayName: Prepare cache flag
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/commit, .build/quality'
- targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
- vstsFeed: 'npm-vscode'
- platformIndependent: true
- alias: 'Compilation'
-
-- powershell: |
- $ErrorActionPreference = "Stop"
- exit 1
- displayName: Check RestoreCache
- condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
-
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
-
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
-
-- task: UsePythonVersion@0
- inputs:
- versionSpec: '2.x'
- addToPath: true
-
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
-
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- "machine github.com`nlogin vscode`npassword $(github-distro-mixin-password)" | Out-File "$env:USERPROFILE\_netrc" -Encoding ASCII
-
- exec { git config user.email "vscode@microsoft.com" }
- exec { git config user.name "VSCode" }
-
- mkdir .build -ea 0
- "$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
- displayName: Prepare tooling
-
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git" }
- exec { git fetch distro }
- exec { git merge $(node -p "require('./package.json').distro") }
- displayName: Merge distro
-
-- script: |
- npx https://aka.ms/enablesecurefeed standAlone
- displayName: Switch to Terrapin packages
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
-
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- $env:npm_config_arch="$(VSCODE_ARCH)"
- $env:CHILD_CONCURRENCY="1"
- exec { yarn --frozen-lockfile }
- displayName: Install dependencies
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { yarn postinstall }
- displayName: Run postinstall scripts
- condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
-
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { node build/azure-pipelines/mixin }
- displayName: Mix in quality
-
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- $env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
- exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-min-ci" }
- exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-code-helper" }
- exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-inno-updater" }
- displayName: Build
-
-- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
- inputs:
- ConnectedServiceName: 'ESRP CodeSign'
- FolderPath: '$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH)'
- Pattern: '*.dll,*.exe,*.node'
- signConfigType: inlineSignParams
- inlineOperation: |
- [
- {
- "keyCode": "CP-230012",
- "operationSetCode": "SigntoolSign",
- "parameters": [
- {
- "parameterName": "OpusName",
- "parameterValue": "VS Code"
- },
- {
- "parameterName": "OpusInfo",
- "parameterValue": "https://code.visualstudio.com/"
- },
- {
- "parameterName": "Append",
- "parameterValue": "/as"
- },
- {
- "parameterName": "FileDigest",
- "parameterValue": "/fd \"SHA256\""
- },
- {
- "parameterName": "PageHash",
- "parameterValue": "/NPH"
- },
- {
- "parameterName": "TimeStamp",
- "parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
- }
- ],
- "toolName": "sign",
- "toolVersion": "1.0"
- },
- {
- "keyCode": "CP-230012",
- "operationSetCode": "SigntoolVerify",
- "parameters": [
- {
- "parameterName": "VerifyAll",
- "parameterValue": "/all"
- }
- ],
- "toolName": "sign",
- "toolVersion": "1.0"
- }
- ]
- SessionTimeout: 120
-
-- task: NuGetCommand@2
- displayName: Install ESRPClient.exe
- inputs:
- restoreSolution: 'build\azure-pipelines\win32\ESRPClient\packages.config'
- feedsToUse: config
- nugetConfigPath: 'build\azure-pipelines\win32\ESRPClient\NuGet.config'
- externalFeedCredentials: 3fc0b7f7-da09-4ae7-a9c8-d69824b1819b
- restoreDirectory: packages
-
-- task: ESRPImportCertTask@1
- displayName: Import ESRP Request Signing Certificate
- inputs:
- ESRP: 'ESRP CodeSign'
-
-- task: PowerShell@2
- inputs:
- targetType: filePath
- filePath: .\build\azure-pipelines\win32\import-esrp-auth-cert.ps1
- arguments: "$(ESRP-SSL-AADAuth)"
- displayName: Import ESRP Auth Certificate
-
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- $env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
- $env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
- $env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
- .\build\azure-pipelines\win32\publish.ps1
- displayName: Publish
-
-- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
- displayName: 'Component Detection'
- continueOnError: true
+ - powershell: |
+ mkdir .build -ea 0
+ "$env:BUILD_SOURCEVERSION" | Out-File -Encoding ascii -NoNewLine .build\commit
+ "$env:VSCODE_QUALITY" | Out-File -Encoding ascii -NoNewLine .build\quality
+ displayName: Prepare cache flag
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/commit, .build/quality"
+ targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
+ vstsFeed: "npm-vscode"
+ platformIndependent: true
+ alias: "Compilation"
+
+ - powershell: |
+ $ErrorActionPreference = "Stop"
+ exit 1
+ displayName: Check RestoreCache
+ condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
+
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
+
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: "2.x"
+ addToPath: true
+
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
+
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ "machine github.com`nlogin vscode`npassword $(github-distro-mixin-password)" | Out-File "$env:USERPROFILE\_netrc" -Encoding ASCII
+
+ exec { git config user.email "vscode@microsoft.com" }
+ exec { git config user.name "VSCode" }
+
+ mkdir .build -ea 0
+ "$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
+ displayName: Prepare tooling
+
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git" }
+ exec { git fetch distro }
+ exec { git merge $(node -p "require('./package.json').distro") }
+ displayName: Merge distro
+
+ - script: |
+ npx https://aka.ms/enablesecurefeed standAlone
+ displayName: Switch to Terrapin packages
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ $env:npm_config_arch="$(VSCODE_ARCH)"
+ $env:CHILD_CONCURRENCY="1"
+ exec { yarn --frozen-lockfile }
+ displayName: Install dependencies
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { yarn postinstall }
+ displayName: Run postinstall scripts
+ condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
+
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { node build/azure-pipelines/mixin }
+ displayName: Mix in quality
+
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ $env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
+ exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-min-ci" }
+ exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-code-helper" }
+ exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-inno-updater" }
+ displayName: Build
+
+ - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
+ inputs:
+ ConnectedServiceName: "ESRP CodeSign"
+ FolderPath: "$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH)"
+ Pattern: "*.dll,*.exe,*.node"
+ signConfigType: inlineSignParams
+ inlineOperation: |
+ [
+ {
+ "keyCode": "CP-230012",
+ "operationSetCode": "SigntoolSign",
+ "parameters": [
+ {
+ "parameterName": "OpusName",
+ "parameterValue": "VS Code"
+ },
+ {
+ "parameterName": "OpusInfo",
+ "parameterValue": "https://code.visualstudio.com/"
+ },
+ {
+ "parameterName": "Append",
+ "parameterValue": "/as"
+ },
+ {
+ "parameterName": "FileDigest",
+ "parameterValue": "/fd \"SHA256\""
+ },
+ {
+ "parameterName": "PageHash",
+ "parameterValue": "/NPH"
+ },
+ {
+ "parameterName": "TimeStamp",
+ "parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
+ }
+ ],
+ "toolName": "sign",
+ "toolVersion": "1.0"
+ },
+ {
+ "keyCode": "CP-230012",
+ "operationSetCode": "SigntoolVerify",
+ "parameters": [
+ {
+ "parameterName": "VerifyAll",
+ "parameterValue": "/all"
+ }
+ ],
+ "toolName": "sign",
+ "toolVersion": "1.0"
+ }
+ ]
+ SessionTimeout: 120
+
+ - task: NuGetCommand@2
+ displayName: Install ESRPClient.exe
+ inputs:
+ restoreSolution: 'build\azure-pipelines\win32\ESRPClient\packages.config'
+ feedsToUse: config
+ nugetConfigPath: 'build\azure-pipelines\win32\ESRPClient\NuGet.config'
+ externalFeedCredentials: 3fc0b7f7-da09-4ae7-a9c8-d69824b1819b
+ restoreDirectory: packages
+
+ - task: ESRPImportCertTask@1
+ displayName: Import ESRP Request Signing Certificate
+ inputs:
+ ESRP: "ESRP CodeSign"
+
+ - task: PowerShell@2
+ inputs:
+ targetType: filePath
+ filePath: .\build\azure-pipelines\win32\import-esrp-auth-cert.ps1
+ arguments: "$(ESRP-SSL-AADAuth)"
+ displayName: Import ESRP Auth Certificate
+
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ $env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
+ $env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
+ $env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
+ .\build\azure-pipelines\win32\publish.ps1
+ displayName: Publish
+
+ - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
+ displayName: "Component Detection"
+ continueOnError: true
diff --git a/build/azure-pipelines/win32/product-build-win32.yml b/build/azure-pipelines/win32/product-build-win32.yml
index 66f8c265140..ce40e016fe7 100644
--- a/build/azure-pipelines/win32/product-build-win32.yml
+++ b/build/azure-pipelines/win32/product-build-win32.yml
@@ -1,258 +1,258 @@
steps:
-- powershell: |
- mkdir .build -ea 0
- "$env:BUILD_SOURCEVERSION" | Out-File -Encoding ascii -NoNewLine .build\commit
- "$env:VSCODE_QUALITY" | Out-File -Encoding ascii -NoNewLine .build\quality
- displayName: Prepare cache flag
+ - powershell: |
+ mkdir .build -ea 0
+ "$env:BUILD_SOURCEVERSION" | Out-File -Encoding ascii -NoNewLine .build\commit
+ "$env:VSCODE_QUALITY" | Out-File -Encoding ascii -NoNewLine .build\quality
+ displayName: Prepare cache flag
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/commit, .build/quality'
- targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
- vstsFeed: 'npm-vscode'
- platformIndependent: true
- alias: 'Compilation'
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/commit, .build/quality"
+ targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
+ vstsFeed: "npm-vscode"
+ platformIndependent: true
+ alias: "Compilation"
-- powershell: |
- $ErrorActionPreference = "Stop"
- exit 1
- displayName: Check RestoreCache
- condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
+ - powershell: |
+ $ErrorActionPreference = "Stop"
+ exit 1
+ displayName: Check RestoreCache
+ condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
-- task: NodeTool@0
- inputs:
- versionSpec: "12.18.3"
+ - task: NodeTool@0
+ inputs:
+ versionSpec: "12.18.3"
-- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- inputs:
- versionSpec: "1.x"
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+ versionSpec: "1.x"
-- task: UsePythonVersion@0
- inputs:
- versionSpec: '2.x'
- addToPath: true
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: "2.x"
+ addToPath: true
-- task: AzureKeyVault@1
- displayName: 'Azure Key Vault: Get Secrets'
- inputs:
- azureSubscription: 'vscode-builds-subscription'
- KeyVaultName: vscode
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+ inputs:
+ azureSubscription: "vscode-builds-subscription"
+ KeyVaultName: vscode
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- "machine github.com`nlogin vscode`npassword $(github-distro-mixin-password)" | Out-File "$env:USERPROFILE\_netrc" -Encoding ASCII
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ "machine github.com`nlogin vscode`npassword $(github-distro-mixin-password)" | Out-File "$env:USERPROFILE\_netrc" -Encoding ASCII
- exec { git config user.email "vscode@microsoft.com" }
- exec { git config user.name "VSCode" }
+ exec { git config user.email "vscode@microsoft.com" }
+ exec { git config user.name "VSCode" }
- mkdir .build -ea 0
- "$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
- displayName: Prepare tooling
+ mkdir .build -ea 0
+ "$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
+ displayName: Prepare tooling
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git" }
- exec { git fetch distro }
- exec { git merge $(node -p "require('./package.json').distro") }
- displayName: Merge distro
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git" }
+ exec { git fetch distro }
+ exec { git merge $(node -p "require('./package.json').distro") }
+ displayName: Merge distro
-- script: |
- npx https://aka.ms/enablesecurefeed standAlone
- displayName: Switch to Terrapin packages
+ - script: |
+ npx https://aka.ms/enablesecurefeed standAlone
+ displayName: Switch to Terrapin packages
-- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- $env:npm_config_arch="$(VSCODE_ARCH)"
- $env:CHILD_CONCURRENCY="1"
- exec { yarn --frozen-lockfile }
- displayName: Install dependencies
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ $env:npm_config_arch="$(VSCODE_ARCH)"
+ $env:CHILD_CONCURRENCY="1"
+ exec { yarn --frozen-lockfile }
+ displayName: Install dependencies
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
- inputs:
- keyfile: 'build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
- targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
- vstsFeed: 'npm-vscode'
- condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+ - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
+ inputs:
+ keyfile: "build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { yarn postinstall }
- displayName: Run postinstall scripts
- condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { yarn postinstall }
+ displayName: Run postinstall scripts
+ condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { node build/azure-pipelines/mixin }
- displayName: Mix in quality
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { node build/azure-pipelines/mixin }
+ displayName: Mix in quality
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- $env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
- exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-min-ci" }
- exec { yarn gulp "vscode-reh-win32-$env:VSCODE_ARCH-min-ci" }
- exec { yarn gulp "vscode-reh-web-win32-$env:VSCODE_ARCH-min-ci" }
- exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-code-helper" }
- exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-inno-updater" }
- displayName: Build
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ $env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
+ exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-min-ci" }
+ exec { yarn gulp "vscode-reh-win32-$env:VSCODE_ARCH-min-ci" }
+ exec { yarn gulp "vscode-reh-web-win32-$env:VSCODE_ARCH-min-ci" }
+ exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-code-helper" }
+ exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-inno-updater" }
+ displayName: Build
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { yarn electron $(VSCODE_ARCH) }
- exec { .\scripts\test.bat --build --tfs "Unit Tests" }
- displayName: Run unit tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { yarn electron $(VSCODE_ARCH) }
+ exec { .\scripts\test.bat --build --tfs "Unit Tests" }
+ displayName: Run unit tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { yarn test-browser --build --browser chromium --browser firefox --tfs "Browser Unit Tests" }
- displayName: Run unit tests (Browser)
- condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { yarn test-browser --build --browser chromium --browser firefox --tfs "Browser Unit Tests" }
+ displayName: Run unit tests (Browser)
+ condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-- powershell: |
- # Figure out the full absolute path of the product we just built
- # including the remote server and configure the integration tests
- # to run with these builds instead of running out of sources.
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- $AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
- $AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
- $AppNameShort = $AppProductJson.nameShort
- exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-integration.bat --build --tfs "Integration Tests" }
- displayName: Run integration tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+ - powershell: |
+ # Figure out the full absolute path of the product we just built
+ # including the remote server and configure the integration tests
+ # to run with these builds instead of running out of sources.
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ $AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
+ $AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
+ $AppNameShort = $AppProductJson.nameShort
+ exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-integration.bat --build --tfs "Integration Tests" }
+ displayName: Run integration tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-web-integration.bat --browser firefox }
- displayName: Run integration tests (Browser)
- condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-web-integration.bat --browser firefox }
+ displayName: Run integration tests (Browser)
+ condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- $AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
- $AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
- $AppNameShort = $AppProductJson.nameShort
- exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-remote-integration.bat }
- displayName: Run remote integration tests (Electron)
- condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ $AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
+ $AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
+ $AppNameShort = $AppProductJson.nameShort
+ exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-remote-integration.bat }
+ displayName: Run remote integration tests (Electron)
+ condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
-- task: PublishPipelineArtifact@0
- inputs:
- artifactName: crash-dump-windows-$(VSCODE_ARCH)
- targetPath: .build\crashes
- displayName: 'Publish Crash Reports'
- continueOnError: true
- condition: failed()
+ - task: PublishPipelineArtifact@0
+ inputs:
+ artifactName: crash-dump-windows-$(VSCODE_ARCH)
+ targetPath: .build\crashes
+ displayName: "Publish Crash Reports"
+ continueOnError: true
+ condition: failed()
-- task: PublishTestResults@2
- displayName: Publish Tests Results
- inputs:
- testResultsFiles: '*-results.xml'
- searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
- condition: succeededOrFailed()
+ - task: PublishTestResults@2
+ displayName: Publish Tests Results
+ inputs:
+ testResultsFiles: "*-results.xml"
+ searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
+ condition: succeededOrFailed()
-- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
- inputs:
- ConnectedServiceName: 'ESRP CodeSign'
- FolderPath: '$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH),$(agent.builddirectory)/vscode-reh-win32-$(VSCODE_ARCH)'
- Pattern: '*.dll,*.exe,*.node'
- signConfigType: inlineSignParams
- inlineOperation: |
- [
- {
- "keyCode": "CP-230012",
- "operationSetCode": "SigntoolSign",
- "parameters": [
- {
- "parameterName": "OpusName",
- "parameterValue": "VS Code"
- },
- {
- "parameterName": "OpusInfo",
- "parameterValue": "https://code.visualstudio.com/"
- },
- {
- "parameterName": "Append",
- "parameterValue": "/as"
- },
- {
- "parameterName": "FileDigest",
- "parameterValue": "/fd \"SHA256\""
- },
- {
- "parameterName": "PageHash",
- "parameterValue": "/NPH"
- },
- {
- "parameterName": "TimeStamp",
- "parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
- }
- ],
- "toolName": "sign",
- "toolVersion": "1.0"
- },
- {
- "keyCode": "CP-230012",
- "operationSetCode": "SigntoolVerify",
- "parameters": [
- {
- "parameterName": "VerifyAll",
- "parameterValue": "/all"
- }
- ],
- "toolName": "sign",
- "toolVersion": "1.0"
- }
- ]
- SessionTimeout: 120
+ - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
+ inputs:
+ ConnectedServiceName: "ESRP CodeSign"
+ FolderPath: "$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH),$(agent.builddirectory)/vscode-reh-win32-$(VSCODE_ARCH)"
+ Pattern: "*.dll,*.exe,*.node"
+ signConfigType: inlineSignParams
+ inlineOperation: |
+ [
+ {
+ "keyCode": "CP-230012",
+ "operationSetCode": "SigntoolSign",
+ "parameters": [
+ {
+ "parameterName": "OpusName",
+ "parameterValue": "VS Code"
+ },
+ {
+ "parameterName": "OpusInfo",
+ "parameterValue": "https://code.visualstudio.com/"
+ },
+ {
+ "parameterName": "Append",
+ "parameterValue": "/as"
+ },
+ {
+ "parameterName": "FileDigest",
+ "parameterValue": "/fd \"SHA256\""
+ },
+ {
+ "parameterName": "PageHash",
+ "parameterValue": "/NPH"
+ },
+ {
+ "parameterName": "TimeStamp",
+ "parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
+ }
+ ],
+ "toolName": "sign",
+ "toolVersion": "1.0"
+ },
+ {
+ "keyCode": "CP-230012",
+ "operationSetCode": "SigntoolVerify",
+ "parameters": [
+ {
+ "parameterName": "VerifyAll",
+ "parameterValue": "/all"
+ }
+ ],
+ "toolName": "sign",
+ "toolVersion": "1.0"
+ }
+ ]
+ SessionTimeout: 120
-- task: NuGetCommand@2
- displayName: Install ESRPClient.exe
- inputs:
- restoreSolution: 'build\azure-pipelines\win32\ESRPClient\packages.config'
- feedsToUse: config
- nugetConfigPath: 'build\azure-pipelines\win32\ESRPClient\NuGet.config'
- externalFeedCredentials: 'ESRP Nuget'
- restoreDirectory: packages
+ - task: NuGetCommand@2
+ displayName: Install ESRPClient.exe
+ inputs:
+ restoreSolution: 'build\azure-pipelines\win32\ESRPClient\packages.config'
+ feedsToUse: config
+ nugetConfigPath: 'build\azure-pipelines\win32\ESRPClient\NuGet.config'
+ externalFeedCredentials: "ESRP Nuget"
+ restoreDirectory: packages
-- task: ESRPImportCertTask@1
- displayName: Import ESRP Request Signing Certificate
- inputs:
- ESRP: 'ESRP CodeSign'
+ - task: ESRPImportCertTask@1
+ displayName: Import ESRP Request Signing Certificate
+ inputs:
+ ESRP: "ESRP CodeSign"
-- task: PowerShell@2
- inputs:
- targetType: filePath
- filePath: .\build\azure-pipelines\win32\import-esrp-auth-cert.ps1
- arguments: "$(ESRP-SSL-AADAuth)"
- displayName: Import ESRP Auth Certificate
+ - task: PowerShell@2
+ inputs:
+ targetType: filePath
+ filePath: .\build\azure-pipelines\win32\import-esrp-auth-cert.ps1
+ arguments: "$(ESRP-SSL-AADAuth)"
+ displayName: Import ESRP Auth Certificate
-- powershell: |
- . build/azure-pipelines/win32/exec.ps1
- $ErrorActionPreference = "Stop"
- $env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
- $env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
- $env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
- .\build\azure-pipelines\win32\publish.ps1
- displayName: Publish
+ - powershell: |
+ . build/azure-pipelines/win32/exec.ps1
+ $ErrorActionPreference = "Stop"
+ $env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
+ $env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
+ $env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
+ .\build\azure-pipelines\win32\publish.ps1
+ displayName: Publish
-- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
- displayName: 'Component Detection'
- continueOnError: true
+ - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
+ displayName: "Component Detection"
+ continueOnError: true