Skip to content

[3.6] bpo-33522: Enable CI builds on Visual Studio Team Services (GH-6865) #6925

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 1 commit into from
May 17, 2018
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
43 changes: 43 additions & 0 deletions .vsts/docs-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Current docs for the syntax of this file are at:
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md

name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)

queue:
name: Hosted Linux Preview

#variables:

steps:
- checkout: self
clean: true
fetchDepth: 5

- script: sudo apt-get update && sudo apt-get install -qy --force-yes texlive-full
displayName: 'Install LaTeX'

- task: UsePythonVersion@0
displayName: 'Use Python 3.6 or later'
inputs:
versionSpec: '>=3.6'

- script: python -m pip install sphinx blurb python-docs-theme
displayName: 'Install build dependencies'

- script: make dist PYTHON=python SPHINXBUILD='python -m sphinx' BLURB='python -m blurb'
workingDirectory: '$(build.sourcesDirectory)/Doc'
displayName: 'Build documentation'

- task: PublishBuildArtifacts@1
displayName: 'Publish build'
inputs:
PathToPublish: '$(build.sourcesDirectory)/Doc/build'
ArtifactName: build
publishLocation: Container

- task: PublishBuildArtifacts@1
displayName: 'Publish dist'
inputs:
PathToPublish: '$(build.sourcesDirectory)/Doc/dist'
ArtifactName: dist
publishLocation: Container
43 changes: 43 additions & 0 deletions .vsts/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Current docs for the syntax of this file are at:
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md

name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)

queue:
name: Hosted Linux Preview

trigger:
branches:
include:
- master
- 3.7
- 3.6
paths:
include:
- Doc/*

#variables:

steps:
- checkout: self
clean: true
fetchDepth: 5

- task: UsePythonVersion@0
displayName: 'Use Python 3.6 or later'
inputs:
versionSpec: '>=3.6'

- script: python -m pip install sphinx~=1.6.1 blurb python-docs-theme
displayName: 'Install build dependencies'

- script: make check suspicious html PYTHON=python
workingDirectory: '$(build.sourcesDirectory)/Doc'
displayName: 'Build documentation'

- task: PublishBuildArtifacts@1
displayName: 'Publish build'
inputs:
PathToPublish: '$(build.sourcesDirectory)/Doc/build'
ArtifactName: build
publishLocation: Container
71 changes: 71 additions & 0 deletions .vsts/linux-buildbot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Current docs for the syntax of this file are at:
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md

name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)

queue:
name: Hosted Linux Preview

trigger:
branches:
include:
- master
- 3.7
- 3.6
paths:
exclude:
- Doc/*
- Tools/*

variables:
# Copy-pasted from linux-deps.yml until template support arrives
OPENSSL: 1.1.0g
OPENSSL_DIR: "$(build.sourcesDirectory)/multissl/openssl/$(OPENSSL)"


steps:
- checkout: self
clean: true
fetchDepth: 5

#- template: linux-deps.yml

# See https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted-templates.md
# For now, we copy/paste the steps
- script: echo "deb-src http://archive.ubuntu.com/ubuntu/ xenial main" > /etc/apt/sources.list.d/python.list && sudo apt-get update
displayName: 'Update apt-get lists'

- script: echo ##vso[task.prependpath]$(OPENSSL_DIR)
displayName: 'Add $(OPENSSL_DIR) to PATH'
- script: >
sudo apt-get -yq install
build-essential
zlib1g-dev
libbz2-dev
liblzma-dev
libncurses5-dev
libreadline6-dev
libsqlite3-dev
libssl-dev
libgdbm-dev
tk-dev
lzma
lzma-dev
liblzma-dev
libffi-dev
uuid-dev
displayName: 'Install dependencies'
- script: python3 Tools/ssl/multissltests.py --steps=library --base-directory $(build.sourcesDirectory)/multissl --openssl $(OPENSSL) --system Linux
displayName: 'python multissltests.py'

- script: ./configure --with-pydebug
displayName: 'Configure CPython (debug)'

- script: make -s -j4
displayName: 'Build CPython'

- script: make pythoninfo
displayName: 'Display build info'

- script: make buildbottest TESTOPTS="-j4 -uall,-cpu"
displayName: 'Tests'
77 changes: 77 additions & 0 deletions .vsts/linux-coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Current docs for the syntax of this file are at:
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md

name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)

queue:
name: Hosted Linux Preview

trigger:
branches:
include:
- master
- 3.7
- 3.6
paths:
exclude:
- Doc/*
- Tools/*

variables:
# Copy-pasted from linux-deps.yml until template support arrives
OPENSSL: 1.1.0g
OPENSSL_DIR: "$(build.sourcesDirectory)/multissl/openssl/$(OPENSSL)"

steps:
- checkout: self
clean: true
fetchDepth: 5

#- template: linux-deps.yml

# See https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted-templates.md
# For now, we copy/paste the steps
- script: echo "deb-src http://archive.ubuntu.com/ubuntu/ xenial main" > /etc/apt/sources.list.d/python.list && sudo apt-get update
displayName: 'Update apt-get lists'

- script: echo ##vso[task.prependpath]$(OPENSSL_DIR)
displayName: 'Add $(OPENSSL_DIR) to PATH'
- script: >
sudo apt-get -yq install
build-essential
zlib1g-dev
libbz2-dev
liblzma-dev
libncurses5-dev
libreadline6-dev
libsqlite3-dev
libssl-dev
libgdbm-dev
tk-dev
lzma
lzma-dev
liblzma-dev
libffi-dev
uuid-dev
displayName: 'Install dependencies'
- script: python3 Tools/ssl/multissltests.py --steps=library --base-directory $(build.sourcesDirectory)/multissl --openssl $(OPENSSL) --system Linux
displayName: 'python multissltests.py'


- script: ./configure --with-pydebug
displayName: 'Configure CPython (debug)'

- script: make -s -j4
displayName: 'Build CPython'

- script: ./python -m venv venv && ./venv/bin/python -m pip install -U coverage
displayName: 'Set up virtual environment'

- script: ./venv/bin/python -m test.pythoninfo
displayName: 'Display build info'

- script: ./venv/bin/python -m coverage run --pylib -m test --fail-env-changed -uall,-cpu -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn -x test_concurrent_futures
displayName: 'Tests with coverage'

- script: source ./venv/bin/activate && bash <(curl -s https://codecov.io/bash)
displayName: 'Publish code coverage results'
36 changes: 36 additions & 0 deletions .vsts/linux-deps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Note: this file is not currently used, but when template support comes to VSTS it
# will be referenced from the other scripts..

# Current docs for the syntax of this file are at:
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md

parameters:
OPENSSL: 1.1.0g
OPENSSL_DIR: "$(build.sourcesDirectory)/multissl/openssl/$(OPENSSL)"

steps:
- script: echo "deb-src http://archive.ubuntu.com/ubuntu/ xenial main" > /etc/apt/sources.list.d/python.list && sudo apt-get update
displayName: 'Update apt-get lists'

- script: echo ##vso[task.prependpath]$(OPENSSL_DIR)
displayName: 'Add $(OPENSSL_DIR) to PATH'
- script: >
sudo apt-get -yq install
build-essential
zlib1g-dev
libbz2-dev
liblzma-dev
libncurses5-dev
libreadline6-dev
libsqlite3-dev
libssl-dev
libgdbm-dev
tk-dev
lzma
lzma-dev
liblzma-dev
libffi-dev
uuid-dev
displayName: 'Install dependencies'
- script: python3 Tools/ssl/multissltests.py --steps=library --base-directory $(build.sourcesDirectory)/multissl --openssl $(OPENSSL) --system Linux
displayName: 'python multissltests.py'
75 changes: 75 additions & 0 deletions .vsts/linux-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Current docs for the syntax of this file are at:
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md

name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)

queue:
name: Hosted Linux Preview

trigger:
branches:
include:
- master
- 3.7
- 3.6
paths:
exclude:
- Doc/*
- Tools/*

variables:
# Copy-pasted from linux-deps.yml until template support arrives
OPENSSL: 1.1.0g
OPENSSL_DIR: "$(build.sourcesDirectory)/multissl/openssl/$(OPENSSL)"

steps:
- checkout: self
clean: true
fetchDepth: 5

#- template: linux-deps.yml

# See https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted-templates.md
# For now, we copy/paste the steps
- script: echo "deb-src http://archive.ubuntu.com/ubuntu/ xenial main" > /etc/apt/sources.list.d/python.list && sudo apt-get update
displayName: 'Update apt-get lists'

- script: echo ##vso[task.prependpath]$(OPENSSL_DIR)
displayName: 'Add $(OPENSSL_DIR) to PATH'
- script: >
sudo apt-get -yq install
build-essential
zlib1g-dev
libbz2-dev
liblzma-dev
libncurses5-dev
libreadline6-dev
libsqlite3-dev
libssl-dev
libgdbm-dev
tk-dev
lzma
lzma-dev
liblzma-dev
libffi-dev
uuid-dev
displayName: 'Install dependencies'
- script: python3 Tools/ssl/multissltests.py --steps=library --base-directory $(build.sourcesDirectory)/multissl --openssl $(OPENSSL) --system Linux
displayName: 'python multissltests.py'


- script: ./configure --with-pydebug
displayName: 'Configure CPython (debug)'

- script: make -s -j4
displayName: 'Build CPython'

- script: make pythoninfo
displayName: 'Display build info'

# Run patchcheck and fail if anything is discovered
- script: ./python Tools/scripts/patchcheck.py --travis true
displayName: 'Run patchcheck.py'

- script: make buildbottest TESTOPTS="-j4 -uall,-cpu"
displayName: 'Tests'
37 changes: 37 additions & 0 deletions .vsts/macos-buildbot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Current docs for the syntax of this file are at:
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md

name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)

queue:
name: Hosted macOS Preview

trigger:
branches:
include:
- master
- 3.7
- 3.6
paths:
exclude:
- Doc/*
- Tools/*

#variables:

steps:
- checkout: self
clean: true
fetchDepth: 5

- script: ./configure --with-pydebug --with-openssl=/usr/local/opt/openssl
displayName: 'Configure CPython (debug)'

- script: make -s -j4
displayName: 'Build CPython'

- script: make pythoninfo
displayName: 'Display build info'

- script: make buildbottest TESTOPTS="-j4 -uall,-cpu"
displayName: 'Tests'
Loading