forked from microsoft/vscode-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvscode-python-pr-validation.yaml
More file actions
140 lines (129 loc) · 4.1 KB
/
vscode-python-pr-validation.yaml
File metadata and controls
140 lines (129 loc) · 4.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# PR Validation build.
name: '$(Year:yyyy).$(Month).0.$(BuildID)-pr'
# Notes: Only trigger a PR build for main and release, and skip build/rebuild
# on changes in the news and .vscode folders.
pr:
autoCancel: true
branches:
include:
- 'main'
- 'release*'
- 'ds*'
paths:
exclude: ['/news/1 Enhancements', '/news/2 Fixes', '/news/3 Code Health', '/.vscode']
# Not the CI build for merges to main and release.
trigger: none
# Variables that are available for the entire pipeline.
variables:
- template: templates/globals.yml
stages:
- stage: Build
jobs:
- template: templates/jobs/build_compile.yml
# Each item in each matrix has a number of possible values it may
# define. They are detailed in templates/test_phases.yml. The only
# required value is "TestsToRun".
- stage: Linux
dependsOn: []
jobs:
- job: 'Py3x'
dependsOn: []
strategy:
matrix:
'NodeUnit':
TestsToRun: 'testUnitTests'
NeedsPythonTestReqs: false
NeedsIPythonReqs: false
'Unit':
TestsToRun: 'pythonUnitTests, pythonInternalTools, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Functional Non DataScience':
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Single Workspace':
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'DataScience':
TestsToRun: 'testDataScience'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'DataScience in VSCode':
TestsToRun: 'testDataScienceInVSCode'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Smoke':
TestsToRun: 'testSmoke'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
pool:
vmImage: 'ubuntu-20.04'
steps:
- template: templates/test_phases.yml
- job: 'Py27'
dependsOn: []
strategy:
matrix:
'Unit':
PythonVersion: '2.7'
# Note: "pythonInternalTools" tests are 3.7+.
TestsToRun: 'pythonUnitTests'
NeedsPythonTestReqs: true
'Functional Non DS':
PythonVersion: '2.7'
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
pool:
vmImage: 'ubuntu-20.04'
steps:
- template: templates/test_phases.yml
- stage: Mac
dependsOn: []
jobs:
- job: 'Py3x'
dependsOn: []
strategy:
matrix:
# This gives us our best functional coverage for the OS.
'Functional+Single':
TestsToRun: 'testfunctional, testSingleWorkspace'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
pool:
vmImage: '$(vmImageMacOS)'
steps:
- template: templates/test_phases.yml
- stage: Windows
dependsOn: []
jobs:
- job: 'Py3x'
dependsOn: []
timeoutInMinutes: 90
strategy:
matrix:
'Unit':
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
# This gives us our best functional coverage for the OS.
'Functional Non DS':
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Single Workspace':
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
pool:
vmImage: 'vs2017-win2016'
steps:
- template: templates/test_phases.yml
- stage: Reports
dependsOn:
- Linux
- Mac
- Windows
condition: always()
jobs:
- template: templates/jobs/coverage.yml