| # 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 |
| xvfb |
| 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: xvfb-run ./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' |