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
128 lines (117 loc) · 3.65 KB
/
vscode-python-pr-validation.yaml
File metadata and controls
128 lines (117 loc) · 3.65 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
# PR Validation build.
name: '$(Year:yyyy).$(Month).0.$(BuildID)-pr'
# Notes: Only trigger a PR build for master and release, and skip build/rebuild
# on changes in the news and .vscode folders.
pr:
autoCancel: true
branches:
include: ['master', 'release*', 'ds*']
paths:
exclude: ['/news/1 Enhancements', '/news/2 Fixes', '/news/3 Code Health', '/.vscode']
# Not the CI build for merges to master 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
'Single Workspace':
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'DataScience':
TestsToRun: 'testDataScience'
NeedsPythonTestReqs: 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