Engineering - Exploration to run tests in parallel (#149698)

This commit is contained in:
Ladislau Szomoru 2022-05-18 10:37:44 +02:00 committed by GitHub
parent 688c802459
commit d1f882f635
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 530 additions and 308 deletions

View file

@ -1,6 +1,15 @@
parameters: parameters:
- name: VSCODE_QUALITY - name: VSCODE_QUALITY
type: string type: string
- name: VSCODE_RUN_UNIT_TESTS
type: boolean
default: true
- name: VSCODE_RUN_INTEGRATION_TESTS
type: boolean
default: true
- name: VSCODE_RUN_SMOKE_TESTS
type: boolean
default: true
steps: steps:
- task: NodeTool@0 - task: NodeTool@0
@ -165,91 +174,126 @@ steps:
VSCODE_ARCH=$(VSCODE_ARCH) DEBUG=electron-osx-sign* node build/darwin/sign.js VSCODE_ARCH=$(VSCODE_ARCH) DEBUG=electron-osx-sign* node build/darwin/sign.js
displayName: Set Hardened Entitlements displayName: Set Hardened Entitlements
- script: | - ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
set -e - script: |
./scripts/test.sh --build --tfs "Unit Tests" set -e
displayName: Run unit tests (Electron) ./scripts/test.sh --build --tfs "Unit Tests"
timeoutInMinutes: 15 displayName: Run unit tests (Electron)
timeoutInMinutes: 15
- script: | - ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
set -e - script: |
yarn test-node --build set -e
displayName: Run unit tests (node.js) yarn test-node --build
timeoutInMinutes: 15 displayName: Run unit tests (node.js)
timeoutInMinutes: 15
- script: | - ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
set -e - script: |
DEBUG=*browser* yarn test-browser-no-install --sequential --build --browser chromium --browser webkit --tfs "Browser Unit Tests" set -e
displayName: Run unit tests (Browser, Chromium & Webkit) DEBUG=*browser* yarn test-browser-no-install --sequential --build --browser chromium --browser webkit --tfs "Browser Unit Tests"
timeoutInMinutes: 30 displayName: Run unit tests (Browser, Chromium & Webkit)
timeoutInMinutes: 30
- script: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
# Figure out the full absolute path of the product we just built - script: |
# including the remote server and configure the integration tests set -e
# to run with these builds instead of running out of sources. yarn gulp \
set -e compile-extension:css-language-features-server \
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) compile-extension:emmet \
APP_NAME="`ls $APP_ROOT | head -n 1`" compile-extension:git \
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \ compile-extension:github-authentication \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \ compile-extension:html-language-features-server \
./scripts/test-integration.sh --build --tfs "Integration Tests" compile-extension:ipynb \
displayName: Run integration tests (Electron) compile-extension:json-language-features-server \
timeoutInMinutes: 20 compile-extension:markdown-language-features \
compile-extension-media \
compile-extension:microsoft-authentication \
compile-extension:typescript-language-features \
compile-extension:vscode-api-tests \
compile-extension:vscode-colorize-tests \
compile-extension:vscode-custom-editor-tests \
compile-extension:vscode-notebook-tests \
compile-extension:vscode-test-resolver
displayName: Build integration tests
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
set -e - script: |
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \ # Figure out the full absolute path of the product we just built
./scripts/test-web-integration.sh --browser webkit # including the remote server and configure the integration tests
displayName: Run integration tests (Browser, Webkit) # to run with these builds instead of running out of sources.
timeoutInMinutes: 20 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-$(VSCODE_ARCH)" \
./scripts/test-integration.sh --build --tfs "Integration Tests"
displayName: Run integration tests (Electron)
timeoutInMinutes: 20
- script: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
set -e - script: |
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) set -e
APP_NAME="`ls $APP_ROOT | head -n 1`" VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \ ./scripts/test-web-integration.sh --browser webkit
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \ displayName: Run integration tests (Browser, Webkit)
./scripts/test-remote-integration.sh timeoutInMinutes: 20
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
- script: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
set -e - script: |
ps -ef set -e
displayName: Diagnostics before smoke test run APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
continueOnError: true APP_NAME="`ls $APP_ROOT | head -n 1`"
condition: succeededOrFailed() INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
./scripts/test-remote-integration.sh
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
- script: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
set -e - script: |
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \ set -e
yarn smoketest-no-compile --web --tracing --headless ps -ef
timeoutInMinutes: 20 displayName: Diagnostics before smoke test run
displayName: Run smoke tests (Browser, Chromium) continueOnError: true
condition: succeededOrFailed()
- script: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
set -e - script: |
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) set -e
APP_NAME="`ls $APP_ROOT | head -n 1`" VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \
yarn smoketest-no-compile --tracing --build "$APP_ROOT/$APP_NAME" yarn smoketest-no-compile --web --tracing --headless
timeoutInMinutes: 20 timeoutInMinutes: 20
displayName: Run smoke tests (Electron) displayName: Run smoke tests (Browser, Chromium)
- script: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
set -e - script: |
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) set -e
APP_NAME="`ls $APP_ROOT | head -n 1`" APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \ APP_NAME="`ls $APP_ROOT | head -n 1`"
yarn smoketest-no-compile --tracing --remote --build "$APP_ROOT/$APP_NAME" yarn smoketest-no-compile --tracing --build "$APP_ROOT/$APP_NAME"
timeoutInMinutes: 20 timeoutInMinutes: 20
displayName: Run smoke tests (Remote) displayName: Run smoke tests (Electron)
- script: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
set -e - script: |
ps -ef set -e
displayName: Diagnostics after smoke test run yarn gulp compile-extension:vscode-test-resolver
continueOnError: true APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
condition: succeededOrFailed() APP_NAME="`ls $APP_ROOT | head -n 1`"
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
yarn smoketest-no-compile --tracing --remote --build "$APP_ROOT/$APP_NAME"
timeoutInMinutes: 20
displayName: Run smoke tests (Remote)
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
- script: |
set -e
ps -ef
displayName: Diagnostics after smoke test run
continueOnError: true
condition: succeededOrFailed()
- task: PublishPipelineArtifact@0 - task: PublishPipelineArtifact@0
inputs: inputs:

View file

@ -1,6 +1,15 @@
parameters: parameters:
- name: VSCODE_QUALITY - name: VSCODE_QUALITY
type: string type: string
- name: VSCODE_RUN_UNIT_TESTS
type: boolean
default: true
- name: VSCODE_RUN_INTEGRATION_TESTS
type: boolean
default: true
- name: VSCODE_RUN_SMOKE_TESTS
type: boolean
default: true
steps: steps:
- task: NodeTool@0 - task: NodeTool@0
@ -221,104 +230,139 @@ steps:
stat $ELECTRON_ROOT/chrome-sandbox stat $ELECTRON_ROOT/chrome-sandbox
displayName: Change setuid helper binary permission displayName: Change setuid helper binary permission
- script: | - ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
set -e - script: |
./scripts/test.sh --build --tfs "Unit Tests" set -e
displayName: Run unit tests (Electron) ./scripts/test.sh --build --tfs "Unit Tests"
timeoutInMinutes: 15 displayName: Run unit tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) timeoutInMinutes: 15
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
set -e - script: |
yarn test-node --build set -e
displayName: Run unit tests (node.js) yarn test-node --build
timeoutInMinutes: 15 displayName: Run unit tests (node.js)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) timeoutInMinutes: 15
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
set -e - script: |
DEBUG=*browser* yarn test-browser-no-install --build --browser chromium --tfs "Browser Unit Tests" set -e
displayName: Run unit tests (Browser, Chromium) DEBUG=*browser* yarn test-browser-no-install --build --browser chromium --tfs "Browser Unit Tests"
timeoutInMinutes: 15 displayName: Run unit tests (Browser, Chromium)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) timeoutInMinutes: 15
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
# Figure out the full absolute path of the product we just built - script: |
# including the remote server and configure the integration tests set -e
# to run with these builds instead of running out of sources. yarn gulp \
set -e compile-extension:css-language-features-server \
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH) compile-extension:emmet \
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName") compile-extension:git \
INTEGRATION_TEST_APP_NAME="$APP_NAME" \ compile-extension:github-authentication \
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \ compile-extension:html-language-features-server \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \ compile-extension:ipynb \
./scripts/test-integration.sh --build --tfs "Integration Tests" compile-extension:json-language-features-server \
displayName: Run integration tests (Electron) compile-extension:markdown-language-features \
timeoutInMinutes: 20 compile-extension-media \
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) compile-extension:microsoft-authentication \
compile-extension:typescript-language-features \
compile-extension:vscode-api-tests \
compile-extension:vscode-colorize-tests \
compile-extension:vscode-custom-editor-tests \
compile-extension:vscode-notebook-tests \
compile-extension:vscode-test-resolver
displayName: Build integration tests
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
set -e - script: |
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \ # Figure out the full absolute path of the product we just built
./scripts/test-web-integration.sh --browser chromium # including the remote server and configure the integration tests
displayName: Run integration tests (Browser, Chromium) # to run with these builds instead of running out of sources.
timeoutInMinutes: 20 set -e
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
INTEGRATION_TEST_APP_NAME="$APP_NAME" \
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
./scripts/test-integration.sh --build --tfs "Integration Tests"
displayName: Run integration tests (Electron)
timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
set -e - script: |
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH) set -e
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName") VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
INTEGRATION_TEST_APP_NAME="$APP_NAME" \ ./scripts/test-web-integration.sh --browser chromium
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \ displayName: Run integration tests (Browser, Chromium)
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \ timeoutInMinutes: 20
./scripts/test-remote-integration.sh condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
set -e - script: |
ps -ef set -e
cat /proc/sys/fs/inotify/max_user_watches APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
lsof | wc -l APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
displayName: Diagnostics before smoke test run (processes, max_user_watches, number of opened file handles) INTEGRATION_TEST_APP_NAME="$APP_NAME" \
continueOnError: true INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
./scripts/test-remote-integration.sh
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
set -e - script: |
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \ set -e
yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage" ps -ef
timeoutInMinutes: 20 cat /proc/sys/fs/inotify/max_user_watches
displayName: Run smoke tests (Browser, Chromium) lsof | wc -l
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) displayName: Diagnostics before smoke test run (processes, max_user_watches, number of opened file handles)
continueOnError: true
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
set -e - script: |
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH) set -e
yarn smoketest-no-compile --tracing --build "$APP_PATH" VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
timeoutInMinutes: 20 yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
displayName: Run smoke tests (Electron) timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) displayName: Run smoke tests (Browser, Chromium)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
set -e - script: |
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH) set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \ APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
yarn smoketest-no-compile --tracing --remote --build "$APP_PATH" yarn smoketest-no-compile --tracing --build "$APP_PATH"
timeoutInMinutes: 20 timeoutInMinutes: 20
displayName: Run smoke tests (Remote) displayName: Run smoke tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
set -e - script: |
ps -ef set -e
cat /proc/sys/fs/inotify/max_user_watches yarn gulp compile-extension:vscode-test-resolver
lsof | wc -l APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
displayName: Diagnostics after smoke test run (processes, max_user_watches, number of opened file handles) VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
continueOnError: true yarn smoketest-no-compile --tracing --remote --build "$APP_PATH"
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) timeoutInMinutes: 20
displayName: Run smoke tests (Remote)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
- script: |
set -e
ps -ef
cat /proc/sys/fs/inotify/max_user_watches
lsof | wc -l
displayName: Diagnostics after smoke test run (processes, max_user_watches, number of opened file handles)
continueOnError: true
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- task: PublishPipelineArtifact@0 - task: PublishPipelineArtifact@0
inputs: inputs:

View file

@ -60,7 +60,8 @@ stages:
- Compile - Compile
pool: vscode-1es-vscode-windows-2019 pool: vscode-1es-vscode-windows-2019
jobs: jobs:
- job: Windows - job: WindowsUnitTests
displayName: Unit Tests
timeoutInMinutes: 120 timeoutInMinutes: 120
variables: variables:
VSCODE_ARCH: x64 VSCODE_ARCH: x64
@ -68,6 +69,33 @@ stages:
- template: win32/product-build-win32.yml - template: win32/product-build-win32.yml
parameters: parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }} VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: true
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- job: WindowsIntegrationTests
displayName: Integration Tests
timeoutInMinutes: 120
variables:
VSCODE_ARCH: x64
steps:
- template: win32/product-build-win32.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: true
VSCODE_RUN_SMOKE_TESTS: false
- job: WindowsSmokeTests
displayName: Smoke Tests
timeoutInMinutes: 120
variables:
VSCODE_ARCH: x64
steps:
- template: win32/product-build-win32.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: true
- stage: Linux - stage: Linux
dependsOn: dependsOn:
@ -75,7 +103,8 @@ stages:
- LinuxServerDependencies - LinuxServerDependencies
pool: vscode-1es-vscode-linux-18.04 pool: vscode-1es-vscode-linux-18.04
jobs: jobs:
- job: Linuxx64 - job: Linuxx64UnitTest
displayName: Unit Tests
container: vscode-bionic-x64 container: vscode-bionic-x64
variables: variables:
VSCODE_ARCH: x64 VSCODE_ARCH: x64
@ -85,6 +114,37 @@ stages:
- template: linux/product-build-linux-client.yml - template: linux/product-build-linux-client.yml
parameters: parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }} VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: true
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- job: Linuxx64IntegrationTest
displayName: Integration Tests
container: vscode-bionic-x64
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: true
VSCODE_RUN_SMOKE_TESTS: false
- job: Linuxx64SmokeTest
displayName: Smoke Tests
container: vscode-bionic-x64
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: true
- stage: macOS - stage: macOS
dependsOn: dependsOn:
@ -94,7 +154,8 @@ stages:
variables: variables:
BUILDSECMON_OPT_IN: true BUILDSECMON_OPT_IN: true
jobs: jobs:
- job: macOSTest - job: macOSUnitTest
displayName: Unit Tests
timeoutInMinutes: 90 timeoutInMinutes: 90
variables: variables:
VSCODE_ARCH: x64 VSCODE_ARCH: x64
@ -102,3 +163,30 @@ stages:
- template: darwin/product-build-darwin-test.yml - template: darwin/product-build-darwin-test.yml
parameters: parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }} VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: true
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- job: macOSIntegrationTest
displayName: Integration Tests
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin-test.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: true
VSCODE_RUN_SMOKE_TESTS: false
- job: macOSSmokeTest
displayName: Smoke Tests
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin-test.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: true

View file

@ -1,6 +1,15 @@
parameters: parameters:
- name: VSCODE_QUALITY - name: VSCODE_QUALITY
type: string type: string
- name: VSCODE_RUN_UNIT_TESTS
type: boolean
default: true
- name: VSCODE_RUN_INTEGRATION_TESTS
type: boolean
default: true
- name: VSCODE_RUN_SMOKE_TESTS
type: boolean
default: true
steps: steps:
- task: NodeTool@0 - task: NodeTool@0
@ -184,105 +193,142 @@ steps:
displayName: Download Playwright displayName: Download Playwright
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64')) condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
$ErrorActionPreference = "Stop" . build/azure-pipelines/win32/exec.ps1
exec { yarn electron $(VSCODE_ARCH) } $ErrorActionPreference = "Stop"
exec { .\scripts\test.bat --build --tfs "Unit Tests" } exec { yarn electron $(VSCODE_ARCH) }
displayName: Run unit tests (Electron) exec { .\scripts\test.bat --build --tfs "Unit Tests" }
timeoutInMinutes: 15 displayName: Run unit tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64')) timeoutInMinutes: 15
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
$ErrorActionPreference = "Stop" . build/azure-pipelines/win32/exec.ps1
exec { yarn test-node --build } $ErrorActionPreference = "Stop"
displayName: Run unit tests (node.js) exec { yarn test-node --build }
timeoutInMinutes: 15 displayName: Run unit tests (node.js)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64')) timeoutInMinutes: 15
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
$ErrorActionPreference = "Stop" . build/azure-pipelines/win32/exec.ps1
exec { yarn test-browser-no-install --sequential --build --browser chromium --browser firefox --tfs "Browser Unit Tests" } $ErrorActionPreference = "Stop"
displayName: Run unit tests (Browser, Chromium & Firefox) exec { yarn test-browser-no-install --sequential --build --browser chromium --browser firefox --tfs "Browser Unit Tests" }
timeoutInMinutes: 20 displayName: Run unit tests (Browser, Chromium & Firefox)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64')) timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
# Figure out the full absolute path of the product we just built - powershell: |
# including the remote server and configure the integration tests . build/azure-pipelines/win32/exec.ps1
# to run with these builds instead of running out of sources. $ErrorActionPreference = "Stop"
. build/azure-pipelines/win32/exec.ps1 exec { yarn gulp `
$ErrorActionPreference = "Stop" compile-extension:css-language-features-server `
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)" compile-extension:emmet `
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json compile-extension:git `
$AppNameShort = $AppProductJson.nameShort compile-extension:github-authentication `
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" } compile-extension:html-language-features-server `
displayName: Run integration tests (Electron) compile-extension:ipynb `
timeoutInMinutes: 20 compile-extension:json-language-features-server `
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64')) compile-extension:markdown-language-features `
compile-extension-media `
compile-extension:microsoft-authentication `
compile-extension:typescript-language-features `
compile-extension:vscode-api-tests `
compile-extension:vscode-colorize-tests `
compile-extension:vscode-custom-editor-tests `
compile-extension:vscode-notebook-tests `
compile-extension:vscode-test-resolver `
}
displayName: Build integration tests
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
$ErrorActionPreference = "Stop" # Figure out the full absolute path of the product we just built
exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\scripts\test-web-integration.bat --browser firefox } # including the remote server and configure the integration tests
displayName: Run integration tests (Browser, Firefox) # to run with these builds instead of running out of sources.
timeoutInMinutes: 20 . build/azure-pipelines/win32/exec.ps1
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64')) $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)
timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
$ErrorActionPreference = "Stop" . build/azure-pipelines/win32/exec.ps1
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)" $ErrorActionPreference = "Stop"
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\scripts\test-web-integration.bat --browser firefox }
$AppNameShort = $AppProductJson.nameShort displayName: Run integration tests (Browser, Firefox)
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-remote-integration.bat } timeoutInMinutes: 20
displayName: Run integration tests (Remote) condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
exec {.\build\azure-pipelines\win32\listprocesses.bat } . build/azure-pipelines/win32/exec.ps1
displayName: Diagnostics before smoke test run $ErrorActionPreference = "Stop"
continueOnError: true $AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
condition: and(succeededOrFailed(), eq(variables['VSCODE_STEP_ON_IT'], 'false')) $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-remote-integration.bat }
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
$ErrorActionPreference = "Stop" . build/azure-pipelines/win32/exec.ps1
$env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)" exec {.\build\azure-pipelines\win32\listprocesses.bat }
exec { yarn smoketest-no-compile --web --tracing --headless } displayName: Diagnostics before smoke test run
displayName: Run smoke tests (Browser, Chromium) continueOnError: true
timeoutInMinutes: 20 condition: and(succeededOrFailed(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
$ErrorActionPreference = "Stop" . build/azure-pipelines/win32/exec.ps1
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)" $ErrorActionPreference = "Stop"
exec { yarn smoketest-no-compile --tracing --build "$AppRoot" } $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"
displayName: Run smoke tests (Electron) exec { yarn smoketest-no-compile --web --tracing --headless }
timeoutInMinutes: 20 displayName: Run smoke tests (Browser, Chromium)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64')) timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
$ErrorActionPreference = "Stop" . build/azure-pipelines/win32/exec.ps1
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)" $ErrorActionPreference = "Stop"
$env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)" $AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
exec { yarn smoketest-no-compile --tracing --remote --build "$AppRoot" } exec { yarn smoketest-no-compile --tracing --build "$AppRoot" }
displayName: Run smoke tests (Remote) displayName: Run smoke tests (Electron)
timeoutInMinutes: 20 timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64')) condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- powershell: | - ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
. build/azure-pipelines/win32/exec.ps1 - powershell: |
exec {.\build\azure-pipelines\win32\listprocesses.bat } . build/azure-pipelines/win32/exec.ps1
displayName: Diagnostics after smoke test run $ErrorActionPreference = "Stop"
continueOnError: true $AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
condition: and(succeededOrFailed(), eq(variables['VSCODE_STEP_ON_IT'], 'false')) $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"
exec { yarn gulp compile-extension:vscode-test-resolver }
exec { yarn smoketest-no-compile --tracing --remote --build "$AppRoot" }
displayName: Run smoke tests (Remote)
timeoutInMinutes: 20
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
- powershell: |
. build/azure-pipelines/win32/exec.ps1
exec {.\build\azure-pipelines\win32\listprocesses.bat }
displayName: Diagnostics after smoke test run
continueOnError: true
condition: and(succeededOrFailed(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- task: PublishPipelineArtifact@0 - task: PublishPipelineArtifact@0
inputs: inputs:

View file

@ -21,19 +21,19 @@ if "%INTEGRATION_TEST_ELECTRON_PATH%"=="" (
:: Run from a built: need to compile all test extensions :: Run from a built: need to compile all test extensions
:: because we run extension tests from their source folders :: because we run extension tests from their source folders
:: and the build bundles extensions into .build webpacked :: and the build bundles extensions into .build webpacked
call yarn gulp compile-extension:vscode-api-tests^ :: call yarn gulp compile-extension:vscode-api-tests^
compile-extension:vscode-colorize-tests^ :: compile-extension:vscode-colorize-tests^
compile-extension:markdown-language-features^ :: compile-extension:markdown-language-features^
compile-extension:typescript-language-features^ :: compile-extension:typescript-language-features^
compile-extension:vscode-custom-editor-tests^ :: compile-extension:vscode-custom-editor-tests^
compile-extension:vscode-notebook-tests^ :: compile-extension:vscode-notebook-tests^
compile-extension:emmet^ :: compile-extension:emmet^
compile-extension:css-language-features-server^ :: compile-extension:css-language-features-server^
compile-extension:html-language-features-server^ :: compile-extension:html-language-features-server^
compile-extension:json-language-features-server^ :: compile-extension:json-language-features-server^
compile-extension:git^ :: compile-extension:git^
compile-extension:ipynb^ :: compile-extension:ipynb^
compile-extension-media :: compile-extension-media
:: Configuration for more verbose output :: Configuration for more verbose output
set VSCODE_CLI=1 set VSCODE_CLI=1

View file

@ -30,19 +30,19 @@ else
# Run from a built: need to compile all test extensions # Run from a built: need to compile all test extensions
# because we run extension tests from their source folders # because we run extension tests from their source folders
# and the build bundles extensions into .build webpacked # and the build bundles extensions into .build webpacked
yarn gulp compile-extension:vscode-api-tests \ # yarn gulp compile-extension:vscode-api-tests \
compile-extension:vscode-colorize-tests \ # compile-extension:vscode-colorize-tests \
compile-extension:vscode-custom-editor-tests \ # compile-extension:vscode-custom-editor-tests \
compile-extension:vscode-notebook-tests \ # compile-extension:vscode-notebook-tests \
compile-extension:markdown-language-features \ # compile-extension:markdown-language-features \
compile-extension:typescript-language-features \ # compile-extension:typescript-language-features \
compile-extension:emmet \ # compile-extension:emmet \
compile-extension:css-language-features-server \ # compile-extension:css-language-features-server \
compile-extension:html-language-features-server \ # compile-extension:html-language-features-server \
compile-extension:json-language-features-server \ # compile-extension:json-language-features-server \
compile-extension:git \ # compile-extension:git \
compile-extension:ipynb \ # compile-extension:ipynb \
compile-extension-media # compile-extension-media
# Configuration for more verbose output # Configuration for more verbose output
export VSCODE_CLI=1 export VSCODE_CLI=1

View file

@ -53,10 +53,10 @@ if "%INTEGRATION_TEST_ELECTRON_PATH%"=="" (
:: Run from a built: need to compile all test extensions :: Run from a built: need to compile all test extensions
:: because we run extension tests from their source folders :: because we run extension tests from their source folders
:: and the build bundles extensions into .build webpacked :: and the build bundles extensions into .build webpacked
call yarn gulp compile-extension:vscode-api-tests^ :: call yarn gulp compile-extension:vscode-api-tests^
compile-extension:microsoft-authentication^ :: compile-extension:microsoft-authentication^
compile-extension:github-authentication^ :: compile-extension:github-authentication^
compile-extension:vscode-test-resolver :: compile-extension:vscode-test-resolver
:: Configuration for more verbose output :: Configuration for more verbose output
set VSCODE_CLI=1 set VSCODE_CLI=1

View file

@ -47,16 +47,16 @@ else
# Run from a built: need to compile all test extensions # Run from a built: need to compile all test extensions
# because we run extension tests from their source folders # because we run extension tests from their source folders
# and the build bundles extensions into .build webpacked # and the build bundles extensions into .build webpacked
yarn gulp compile-extension:vscode-api-tests \ # yarn gulp compile-extension:vscode-api-tests \
compile-extension:vscode-test-resolver \ # compile-extension:vscode-test-resolver \
compile-extension:markdown-language-features \ # compile-extension:markdown-language-features \
compile-extension:typescript-language-features \ # compile-extension:typescript-language-features \
compile-extension:emmet \ # compile-extension:emmet \
compile-extension:git \ # compile-extension:git \
compile-extension:ipynb \ # compile-extension:ipynb \
compile-extension:microsoft-authentication \ # compile-extension:microsoft-authentication \
compile-extension:github-authentication \ # compile-extension:github-authentication \
compile-extension-media # compile-extension-media
# Configuration for more verbose output # Configuration for more verbose output
export VSCODE_CLI=1 export VSCODE_CLI=1

View file

@ -25,12 +25,12 @@ if "%VSCODE_REMOTE_SERVER_PATH%"=="" (
:: Run from a built: need to compile all test extensions :: Run from a built: need to compile all test extensions
:: because we run extension tests from their source folders :: because we run extension tests from their source folders
:: and the build bundles extensions into .build webpacked :: and the build bundles extensions into .build webpacked
call yarn gulp compile-extension:vscode-api-tests^ :: call yarn gulp compile-extension:vscode-api-tests^
compile-extension:markdown-language-features^ :: compile-extension:markdown-language-features^
compile-extension:typescript-language-features^ :: compile-extension:typescript-language-features^
compile-extension:emmet^ :: compile-extension:emmet^
compile-extension:git^ :: compile-extension:git^
compile-extension-media :: compile-extension-media
) )
if not exist ".\test\integration\browser\out\index.js" ( if not exist ".\test\integration\browser\out\index.js" (

View file

@ -19,13 +19,13 @@ else
# Run from a built: need to compile all test extensions # Run from a built: need to compile all test extensions
# because we run extension tests from their source folders # because we run extension tests from their source folders
# and the build bundles extensions into .build webpacked # and the build bundles extensions into .build webpacked
yarn gulp compile-extension:vscode-api-tests \ # yarn gulp compile-extension:vscode-api-tests \
compile-extension:markdown-language-features \ # compile-extension:markdown-language-features \
compile-extension:typescript-language-features \ # compile-extension:typescript-language-features \
compile-extension:emmet \ # compile-extension:emmet \
compile-extension:git \ # compile-extension:git \
compile-extension:ipynb \ # compile-extension:ipynb \
compile-extension-media # compile-extension-media
fi fi
if [ ! -e 'test/integration/browser/out/index.js' ];then if [ ! -e 'test/integration/browser/out/index.js' ];then