Skip to content
Next Next commit
Drop extra jobs from the PR-validation pipeline.
This reduces the number of build agents we are using most frequently,
without sacrificing much coverage.  Note that this relies on 2 things:

* sufficient unit test coverage
* manual "full CI" runs when there may be OS-specific concerns

With this change:

* all tests get run on 3.x on linux (including smoke)
* for 2.7 only the unit and functional tests are run (and only on linux)
* on Windows and OSX, only functional and "single workspace" tests are run

The total number of test jobs (and hence agents) drops from 13 to 8.
  • Loading branch information
ericsnowcurrently committed Feb 19, 2020
commit ac915b5abb2f8334891060483e76021f28d87eaa
60 changes: 15 additions & 45 deletions build/ci/vscode-python-pr-validation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,15 @@ stages:
dependsOn: []
strategy:
matrix:
'Unit+Single':
'Unit':
PythonVersion: '2.7'
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools'
NeedsPythonTestReqs: true
'Functional':
PythonVersion: '2.7'
TestsToRun: 'pythonUnitTests, testSingleWorkspace'
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
pool:
vmImage: 'ubuntu-16.04'
steps:
Expand All @@ -73,30 +78,11 @@ stages:
dependsOn: []
strategy:
matrix:
'Unit':
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Single Workspace':
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'Smoke':
TestsToRun: 'testSmoke'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
pool:
vmImage: 'macos-10.13'
steps:
- template: templates/test_phases.yml

- job: 'Py27'
dependsOn: []
strategy:
matrix:
'Unit+Single':
PythonVersion: '2.7'
TestsToRun: 'pythonUnitTests, testSingleWorkspace'
# This gives us our best functional coverage for the OS.
'Functional+Single':
TestsToRun: 'testfunctional, testSingleWorkspace'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
pool:
vmImage: 'macos-10.13'
steps:
Expand All @@ -109,27 +95,11 @@ stages:
dependsOn: []
strategy:
matrix:
'Unit':
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Smoke':
TestsToRun: 'testSmoke'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
pool:
vmImage: 'vs2017-win2016'
steps:
- template: templates/test_phases.yml

- job: 'Py27'
dependsOn: []
strategy:
matrix:
'Unit':
PythonVersion: '2.7'
TestsToRun: 'pythonUnitTests'
# This gives us our best functional coverage for the OS.
'Functional+Single':
TestsToRun: 'testfunctional, testSingleWorkspace'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
pool:
vmImage: 'vs2017-win2016'
steps:
Expand Down