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
112 lines (103 loc) · 4.18 KB
/
vscode-python-pr-validation.yaml
File metadata and controls
112 lines (103 loc) · 4.18 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
name: '$(Year:yyyy).$(Month).0.$(BuildID)-pr'
# PR Validation build.
# 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"]
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:
PythonVersion: '3.7'
NodeVersion: '10.5.0'
NpmVersion: 'latest'
MOCHA_FILE: '$(Build.ArtifactStagingDirectory)/test-junit.xml' # All test files will write their JUnit xml output to this file, clobbering the last time it was written.
MOCHA_REPORTER_JUNIT: true # Use the mocha-multi-reporters and send output to both console (spec) and JUnit (mocha-junit-reporter).
VSC_PYTHON_LOG_FILE: '$(Build.ArtifactStagingDirectory)/pvsc.log'
jobs:
- template: templates/build_compile_jobs.yml
# - template: templates/uitest_jobs.yml
# parameters:
# # In PRs, test only against stable version of VSC.
# vscodeChannels: ['stable']
# # In PRs, run smoke tests against 3.7 and 2.7 (excluding others).
# jobs:
# - test: "Smoke"
# tags: "--tags=@smoke"
# ignorePythonVersions: "3.6,3.5"
- job: 'PR'
dependsOn: []
strategy:
matrix:
# Each member of this list must contain these values:
# VMImageName: '[name]' - the VM image to run the tests on.
# TestsToRun: 'testA, testB, ..., testN' - the list of tests to execute, see the list above.
# Each member of this list may contain these values:
# NeedsPythonTestReqs: [true|false] - install the test-requirements prior to running tests. False if not set.
# NeedsPythonFunctionalReqs: [true|false] - install the functional-requirements prior to running tests. False if not set.
# PythonVersion: 'M.m' - the Python version to run. DefaultPythonVersion if not set.
# NodeVersion: 'x.y.z' - Node version to use. DefaultNodeVersion if not set.
# SkipXvfb: [true|false] - skip initialization of xvfb prior to running system tests on Linux. False if not set
# UploadBinary: [true|false] - upload test binaries to Azure if true. False if not set.
'Win-Py3.7 Unit':
VMImageName: 'vs2017-win2016'
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools'
NeedsPythonTestReqs: true
'Win-Py2.7 Unit':
PythonVersion: '2.7'
VMImageName: 'vs2017-win2016'
TestsToRun: 'pythonUnitTests'
NeedsPythonTestReqs: true
'Mac-Py3.7 Unit':
PythonVersion: '3.7'
VMImageName: 'macos-10.13'
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools'
NeedsPythonTestReqs: true
'Mac-Py3.7 Single Workspace':
PythonVersion: '3.7'
VMImageName: 'macos-10.13'
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'Mac-Py2.7 Unit+Single':
PythonVersion: '2.7'
VMImageName: 'macos-10.13'
TestsToRun: 'pythonUnitTests, testSingleWorkspace'
NeedsPythonTestReqs: true
'Linux-Py3.7 Unit':
PythonVersion: '3.7'
VMImageName: 'ubuntu-16.04'
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools'
NeedsPythonTestReqs: true
'Linux-Py3.7 Single Workspace':
PythonVersion: '3.7'
VMImageName: 'ubuntu-16.04'
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'Linux-Py2.7 Unit+Single':
PythonVersion: '2.7'
VMImageName: 'ubuntu-16.04'
TestsToRun: 'pythonUnitTests, testSingleWorkspace'
NeedsPythonTestReqs: true
'Linux-Py3.7 Functional':
PythonVersion: '3.7'
VMImageName: 'ubuntu-16.04'
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
pool:
vmImage: $(VMImageName)
steps:
- template: templates/test_phases.yml
- job: Coverage
dependsOn:
- PR
pool:
vmImage: "macos-latest"
variables:
TestsToRun: 'testUnitTests'
steps:
- template: templates/merge_upload_coverage.yml