Skip to content

Reduce the number of build agents used by CI. #10221

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
296 changes: 296 additions & 0 deletions build/ci/vscode-python-ci-manual.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,296 @@
# manual CI build

name: '$(Year:yyyy).$(Month).0.$(BuildID)-manual'

trigger: none
pr: 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: []
timeoutInMinutes: 120
strategy:
matrix:
'Unit':
# with mocks
# focused on small units (i.e. functions)
# and tightly controlled dependencies
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Functional':
# no mocks, no vscode
# focused on integration
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Single Workspace':
# no mocks, with vscode
# focused on integration
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'Multi Workspace':
# no mocks, with vscode
# focused on integration
TestsToRun: 'testMultiWorkspace'
NeedsPythonTestReqs: true
'Venv':
TestsToRun: 'venvTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
# This is for the venvTests to use, not needed if you don't run venv tests...
PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json'
'Debugger':
TestsToRun: 'testDebugger'
NeedsPythonTestReqs: true
'Smoke':
TestsToRun: 'testSmoke'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
#maxParallel: 3
pool:
vmImage: 'ubuntu-16.04'
steps:
- template: templates/test_phases.yml

# This is the oldest Python 3 version we support.
- job: 'Py36'
dependsOn: []
timeoutInMinutes: 120
strategy:
matrix:
'Unit':
PythonVersion: '3.6'
# Note: "pythonInternalTools" tests are 3.7+.
TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Functional':
PythonVersion: '3.6'
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Single Workspace':
PythonVersion: '3.6'
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
#maxParallel: 3
pool:
vmImage: 'ubuntu-16.04'
steps:
- template: templates/test_phases.yml

# This is the oldest Python 3 version we support.
- job: 'Py35'
dependsOn: []
timeoutInMinutes: 120
strategy:
matrix:
'Unit':
PythonVersion: '3.5'
# Note: "pythonInternalTools" tests are 3.7+.
TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Functional':
PythonVersion: '3.5'
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Single Workspace':
PythonVersion: '3.5'
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'Venv':
PythonVersion: '3.5'
TestsToRun: 'venvTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json'
'Debugger':
PythonVersion: '3.5'
TestsToRun: 'testDebugger'
NeedsPythonTestReqs: true
#maxParallel: 3
pool:
vmImage: 'ubuntu-16.04'
steps:
- template: templates/test_phases.yml

- stage: Mac
dependsOn: []
jobs:
- job: 'Py3x'
dependsOn: []
timeoutInMinutes: 120
strategy:
matrix:
'Unit':
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Functional':
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Single Workspace':
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'Multi Workspace':
TestsToRun: 'testMultiWorkspace'
NeedsPythonTestReqs: true
'Venv':
TestsToRun: 'venvTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json'
'Debugger':
TestsToRun: 'testDebugger'
NeedsPythonTestReqs: true
'Smoke':
TestsToRun: 'testSmoke'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
#maxParallel: 3
pool:
vmImage: 'macos-10.13'
steps:
- template: templates/test_phases.yml

# This is the oldest Python 3 version we support.
- job: 'Py35'
dependsOn: []
timeoutInMinutes: 120
strategy:
matrix:
'Unit':
PythonVersion: '3.5'
# Note: "pythonInternalTools" tests are 3.7+.
TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Functional':
PythonVersion: '3.5'
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Single Workspace':
PythonVersion: '3.5'
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'Venv':
PythonVersion: '3.5'
TestsToRun: 'venvTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json'
'Debugger':
PythonVersion: '3.5'
TestsToRun: 'testDebugger'
NeedsPythonTestReqs: true
#maxParallel: 3
pool:
vmImage: 'macos-10.13'
steps:
- template: templates/test_phases.yml

- stage: Windows
dependsOn: []
jobs:
- job: 'Py3x'
dependsOn: []
timeoutInMinutes: 120
strategy:
matrix:
'Unit':
TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Functional':
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Single Workspace':
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'Multi Workspace':
TestsToRun: 'testMultiWorkspace'
NeedsPythonTestReqs: true
'Venv':
TestsToRun: 'venvTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json'
'Debugger':
TestsToRun: 'testDebugger'
NeedsPythonTestReqs: true
'Smoke':
TestsToRun: 'testSmoke'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
#maxParallel: 3
pool:
vmImage: 'vs2017-win2016'
steps:
- template: templates/test_phases.yml

# This is the oldest Python 3 version we support.
- job: 'Py35'
dependsOn: []
timeoutInMinutes: 120
strategy:
matrix:
'Unit':
PythonVersion: '3.5'
# Note: "pythonInternalTools" tests are 3.7+.
TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
'Functional':
PythonVersion: '3.5'
TestsToRun: 'testfunctional'
NeedsPythonTestReqs: true
NeedsPythonFunctionalReqs: true
'Single Workspace':
PythonVersion: '3.5'
TestsToRun: 'testSingleWorkspace'
NeedsPythonTestReqs: true
'Venv':
PythonVersion: '3.5'
TestsToRun: 'venvTests'
NeedsPythonTestReqs: true
NeedsIPythonReqs: true
PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json'
'Debugger':
PythonVersion: '3.5'
TestsToRun: 'testDebugger'
NeedsPythonTestReqs: true
#maxParallel: 3
pool:
vmImage: 'vs2017-win2016'
steps:
- template: templates/test_phases.yml

- stage: Reports
dependsOn:
- Linux
- Mac
- Windows
condition: always()
jobs:
- template: templates/jobs/coverage.yml
Loading