forked from DonJayamanne/pythonVSCode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvscode-python-pr-validation.yaml
More file actions
134 lines (123 loc) · 3.79 KB
/
vscode-python-pr-validation.yaml
File metadata and controls
134 lines (123 loc) · 3.79 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
# 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*'
- 'logging-changes-and-drop-old-debugger'
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':
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
SplitFunctionalTests: false
'Single Workspace':
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'DataScience':
TestsToRun: 'testDataScience'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Smoke':
TestsToRun: 'testSmoke'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
pool:
vmImage: 'ubuntu-16.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':
PythonVersion: '2.7'
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
pool:
vmImage: 'ubuntu-16.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:
# This gives us our best functional coverage for the OS.
'Functional':
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