diff options
author | Steve Dower <steve.dower@microsoft.com> | 2018-05-16 21:50:29 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-16 21:50:29 (GMT) |
commit | e5f41d2f1e0b8b8e61d5fa427c19bd1ea90fd9a3 (patch) | |
tree | 08165b95d947b31d76f1dcf8fb261a167becd181 /.vsts | |
parent | 713a9367366c88662c39ed20dd6bce22399299f1 (diff) | |
download | cpython-e5f41d2f1e0b8b8e61d5fa427c19bd1ea90fd9a3.zip cpython-e5f41d2f1e0b8b8e61d5fa427c19bd1ea90fd9a3.tar.gz cpython-e5f41d2f1e0b8b8e61d5fa427c19bd1ea90fd9a3.tar.bz2 |
bpo-33522: Enable CI builds on Visual Studio Team Services (#6865)
Diffstat (limited to '.vsts')
-rw-r--r-- | .vsts/docs-release.yml | 43 | ||||
-rw-r--r-- | .vsts/docs.yml | 43 | ||||
-rw-r--r-- | .vsts/linux-buildbot.yml | 71 | ||||
-rw-r--r-- | .vsts/linux-coverage.yml | 77 | ||||
-rw-r--r-- | .vsts/linux-deps.yml | 36 | ||||
-rw-r--r-- | .vsts/linux-pr.yml | 75 | ||||
-rw-r--r-- | .vsts/macos-buildbot.yml | 37 | ||||
-rw-r--r-- | .vsts/macos-pr.yml | 37 | ||||
-rw-r--r-- | .vsts/windows-buildbot.yml | 49 | ||||
-rw-r--r-- | .vsts/windows-pr.yml | 49 |
10 files changed, 517 insertions, 0 deletions
diff --git a/.vsts/docs-release.yml b/.vsts/docs-release.yml new file mode 100644 index 0000000..e90428a --- /dev/null +++ b/.vsts/docs-release.yml @@ -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 diff --git a/.vsts/docs.yml b/.vsts/docs.yml new file mode 100644 index 0000000..efa1e87 --- /dev/null +++ b/.vsts/docs.yml @@ -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 diff --git a/.vsts/linux-buildbot.yml b/.vsts/linux-buildbot.yml new file mode 100644 index 0000000..d75d7f5 --- /dev/null +++ b/.vsts/linux-buildbot.yml @@ -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' diff --git a/.vsts/linux-coverage.yml b/.vsts/linux-coverage.yml new file mode 100644 index 0000000..3657b17 --- /dev/null +++ b/.vsts/linux-coverage.yml @@ -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' diff --git a/.vsts/linux-deps.yml b/.vsts/linux-deps.yml new file mode 100644 index 0000000..b6c8a36 --- /dev/null +++ b/.vsts/linux-deps.yml @@ -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' diff --git a/.vsts/linux-pr.yml b/.vsts/linux-pr.yml new file mode 100644 index 0000000..7f4d458 --- /dev/null +++ b/.vsts/linux-pr.yml @@ -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' diff --git a/.vsts/macos-buildbot.yml b/.vsts/macos-buildbot.yml new file mode 100644 index 0000000..8a4f6ba --- /dev/null +++ b/.vsts/macos-buildbot.yml @@ -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' diff --git a/.vsts/macos-pr.yml b/.vsts/macos-pr.yml new file mode 100644 index 0000000..8a4f6ba --- /dev/null +++ b/.vsts/macos-pr.yml @@ -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' diff --git a/.vsts/windows-buildbot.yml b/.vsts/windows-buildbot.yml new file mode 100644 index 0000000..5ec4522 --- /dev/null +++ b/.vsts/windows-buildbot.yml @@ -0,0 +1,49 @@ +# 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 VS2017 + parallel: 2 + matrix: + amd64: + buildOpt: -p x64 + outDirSuffix: amd64 + win32: + buildOpt: + outDirSuffix: win32 + +trigger: + branches: + include: + - master + - 3.7 + - 3.6 + paths: + exclude: + - Doc/* + - Tools/* + +variables: + # Relocate build outputs outside of source directory to make cleaning faster + Py_IntDir: $(Build.BinariesDirectory)\obj + # UNDONE: Do not build to a different directory because of broken tests + Py_OutDir: $(Build.SourcesDirectory)\PCbuild + EXTERNAL_DIR: $(Build.BinariesDirectory)\externals + +steps: +- checkout: self + clean: true + fetchDepth: 5 + +- script: PCbuild\build.bat -e $(buildOpt) + displayName: 'Build CPython' + +- script: python.bat -m test.pythoninfo + displayName: 'Display build info' + +- script: PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 + displayName: 'Tests' + env: + PREFIX: $(Py_OutDir)\$(outDirSuffix) diff --git a/.vsts/windows-pr.yml b/.vsts/windows-pr.yml new file mode 100644 index 0000000..5ec4522 --- /dev/null +++ b/.vsts/windows-pr.yml @@ -0,0 +1,49 @@ +# 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 VS2017 + parallel: 2 + matrix: + amd64: + buildOpt: -p x64 + outDirSuffix: amd64 + win32: + buildOpt: + outDirSuffix: win32 + +trigger: + branches: + include: + - master + - 3.7 + - 3.6 + paths: + exclude: + - Doc/* + - Tools/* + +variables: + # Relocate build outputs outside of source directory to make cleaning faster + Py_IntDir: $(Build.BinariesDirectory)\obj + # UNDONE: Do not build to a different directory because of broken tests + Py_OutDir: $(Build.SourcesDirectory)\PCbuild + EXTERNAL_DIR: $(Build.BinariesDirectory)\externals + +steps: +- checkout: self + clean: true + fetchDepth: 5 + +- script: PCbuild\build.bat -e $(buildOpt) + displayName: 'Build CPython' + +- script: python.bat -m test.pythoninfo + displayName: 'Display build info' + +- script: PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 + displayName: 'Tests' + env: + PREFIX: $(Py_OutDir)\$(outDirSuffix) |