Skip to content

Commit

Permalink
bpo-33522: Enable CI builds on Visual Studio Team Services (pythonGH-…
Browse files Browse the repository at this point in the history
…6865)

(cherry picked from commit e5f41d2)

Co-authored-by: Steve Dower <[email protected]>
  • Loading branch information
zooba authored and miss-islington committed May 16, 2018
1 parent 9c17cd3 commit fd48b3e
Show file tree
Hide file tree
Showing 22 changed files with 603 additions and 25 deletions.
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

0 comments on commit fd48b3e

Please sign in to comment.