Skip to content

Commit 4002b92

Browse files
split windows PR tests up (microsoft#10438)
1 parent 5ab1b73 commit 4002b92

2 files changed

Lines changed: 94 additions & 90 deletions

File tree

build/ci/vscode-python-pr-validation.yaml

Lines changed: 93 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -7,111 +7,114 @@ name: '$(Year:yyyy).$(Month).0.$(BuildID)-pr'
77
pr:
88
autoCancel: true
99
branches:
10-
include: ["master", "release*", "ds*"]
10+
include: ['master', 'release*', 'ds*']
1111
paths:
12-
exclude: ["/news/1 Enhancements", "/news/2 Fixes", "/news/3 Code Health", "/.vscode"]
12+
exclude: ['/news/1 Enhancements', '/news/2 Fixes', '/news/3 Code Health', '/.vscode']
1313

1414
# Not the CI build for merges to master and release.
1515
trigger: none
1616

1717
# Variables that are available for the entire pipeline.
1818
variables:
19-
- template: templates/globals.yml
19+
- template: templates/globals.yml
2020

2121
stages:
22-
- stage: Build
23-
jobs:
24-
- template: templates/jobs/build_compile.yml
22+
- stage: Build
23+
jobs:
24+
- template: templates/jobs/build_compile.yml
2525

26-
# Each item in each matrix has a number of possible values it may
27-
# define. They are detailed in templates/test_phases.yml. The only
28-
# required value is "TestsToRun".
26+
# Each item in each matrix has a number of possible values it may
27+
# define. They are detailed in templates/test_phases.yml. The only
28+
# required value is "TestsToRun".
2929

30-
- stage: Linux
31-
dependsOn: []
32-
jobs:
33-
- job: 'Py3x'
30+
- stage: Linux
3431
dependsOn: []
35-
strategy:
36-
matrix:
37-
'Unit':
38-
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests'
39-
NeedsPythonTestReqs: true
40-
NeedsIPythonReqs: true
41-
'Functional':
42-
TestsToRun: 'testfunctional'
43-
NeedsPythonTestReqs: true
44-
NeedsPythonFunctionalReqs: true
45-
'Single Workspace':
46-
TestsToRun: 'testSingleWorkspace'
47-
NeedsPythonTestReqs: true
48-
'Smoke':
49-
TestsToRun: 'testSmoke'
50-
NeedsPythonTestReqs: true
51-
NeedsIPythonReqs: true
52-
pool:
53-
vmImage: 'ubuntu-16.04'
54-
steps:
55-
- template: templates/test_phases.yml
32+
jobs:
33+
- job: 'Py3x'
34+
dependsOn: []
35+
strategy:
36+
matrix:
37+
'Unit':
38+
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests'
39+
NeedsPythonTestReqs: true
40+
NeedsIPythonReqs: true
41+
'Functional':
42+
TestsToRun: 'testfunctional'
43+
NeedsPythonTestReqs: true
44+
NeedsPythonFunctionalReqs: true
45+
'Single Workspace':
46+
TestsToRun: 'testSingleWorkspace'
47+
NeedsPythonTestReqs: true
48+
'Smoke':
49+
TestsToRun: 'testSmoke'
50+
NeedsPythonTestReqs: true
51+
NeedsIPythonReqs: true
52+
pool:
53+
vmImage: 'ubuntu-16.04'
54+
steps:
55+
- template: templates/test_phases.yml
5656

57-
- job: 'Py27'
58-
dependsOn: []
59-
strategy:
60-
matrix:
61-
'Unit':
62-
PythonVersion: '2.7'
63-
# Note: "pythonInternalTools" tests are 3.7+.
64-
TestsToRun: 'testUnitTests, pythonUnitTests'
65-
NeedsPythonTestReqs: true
66-
'Functional':
67-
PythonVersion: '2.7'
68-
TestsToRun: 'testfunctional'
69-
NeedsPythonTestReqs: true
70-
NeedsPythonFunctionalReqs: true
71-
pool:
72-
vmImage: 'ubuntu-16.04'
73-
steps:
74-
- template: templates/test_phases.yml
57+
- job: 'Py27'
58+
dependsOn: []
59+
strategy:
60+
matrix:
61+
'Unit':
62+
PythonVersion: '2.7'
63+
# Note: "pythonInternalTools" tests are 3.7+.
64+
TestsToRun: 'testUnitTests, pythonUnitTests'
65+
NeedsPythonTestReqs: true
66+
'Functional':
67+
PythonVersion: '2.7'
68+
TestsToRun: 'testfunctional'
69+
NeedsPythonTestReqs: true
70+
NeedsPythonFunctionalReqs: true
71+
pool:
72+
vmImage: 'ubuntu-16.04'
73+
steps:
74+
- template: templates/test_phases.yml
7575

76-
- stage: Mac
77-
dependsOn: []
78-
jobs:
79-
- job: 'Py3x'
76+
- stage: Mac
8077
dependsOn: []
81-
strategy:
82-
matrix:
83-
# This gives us our best functional coverage for the OS.
84-
'Functional+Single':
85-
TestsToRun: 'testfunctional, testSingleWorkspace'
86-
NeedsPythonTestReqs: true
87-
NeedsPythonFunctionalReqs: true
88-
pool:
89-
vmImage: '$(vmImageMacOS)'
90-
steps:
91-
- template: templates/test_phases.yml
78+
jobs:
79+
- job: 'Py3x'
80+
dependsOn: []
81+
strategy:
82+
matrix:
83+
# This gives us our best functional coverage for the OS.
84+
'Functional+Single':
85+
TestsToRun: 'testfunctional, testSingleWorkspace'
86+
NeedsPythonTestReqs: true
87+
NeedsPythonFunctionalReqs: true
88+
pool:
89+
vmImage: '$(vmImageMacOS)'
90+
steps:
91+
- template: templates/test_phases.yml
9292

93-
- stage: Windows
94-
dependsOn: []
95-
jobs:
96-
- job: 'Py3x'
93+
- stage: Windows
9794
dependsOn: []
98-
strategy:
99-
matrix:
100-
# This gives us our best functional coverage for the OS.
101-
'Functional+Single':
102-
TestsToRun: 'testfunctional, testSingleWorkspace'
103-
NeedsPythonTestReqs: true
104-
NeedsPythonFunctionalReqs: true
105-
pool:
106-
vmImage: 'vs2017-win2016'
107-
steps:
108-
- template: templates/test_phases.yml
95+
jobs:
96+
- job: 'Py3x'
97+
dependsOn: []
98+
strategy:
99+
matrix:
100+
# This gives us our best functional coverage for the OS.
101+
'Functional':
102+
TestsToRun: 'testfunctional'
103+
NeedsPythonTestReqs: true
104+
NeedsPythonFunctionalReqs: true
105+
'Single Workspace':
106+
TestsToRun: 'testSingleWorkspace'
107+
NeedsPythonTestReqs: true
108+
pool:
109+
vmImage: 'vs2017-win2016'
110+
steps:
111+
- template: templates/test_phases.yml
109112

110-
- stage: Reports
111-
dependsOn:
112-
- Linux
113-
- Mac
114-
- Windows
115-
condition: always()
116-
jobs:
117-
- template: templates/jobs/coverage.yml
113+
- stage: Reports
114+
dependsOn:
115+
- Linux
116+
- Mac
117+
- Windows
118+
condition: always()
119+
jobs:
120+
- template: templates/jobs/coverage.yml

news/3 Code Health/10293.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Split the windows PR tests into two sections so they do not time out.

0 commit comments

Comments
 (0)