Full speed azure

This commit is contained in:
Pascal Vizeli 2019-06-28 17:35:17 +00:00
parent 468b0e8934
commit 538caafac2

View File

@ -5,7 +5,8 @@ trigger:
branches: branches:
include: include:
- dev - dev
pr: none pr:
- dev
resources: resources:
containers: containers:
@ -15,136 +16,127 @@ resources:
image: homeassistant/ci-azure:3.6 image: homeassistant/ci-azure:3.6
- container: 37 - container: 37
image: homeassistant/ci-azure:3.7 image: homeassistant/ci-azure:3.7
variables: variables:
- name: ArtifactFeed - name: ArtifactFeed
value: '2df3ae11-3bf6-49bc-a809-ba0d340d6a6d' value: '2df3ae11-3bf6-49bc-a809-ba0d340d6a6d'
- name: PythonMain - name: PythonMain
value: '35' value: '35'
stages:
jobs: - stage: 'Overview'
jobs:
- job: 'Lint'
pool:
vmImage: 'ubuntu-latest'
container: $[ variables['PythonMain'] ]
steps:
- script: |
python -m venv lint
- job: 'Lint' . lint/bin/activate
pool: pip install flake8
vmImage: 'ubuntu-latest' flake8 homeassistant tests script
container: $[ variables['PythonMain'] ] displayName: 'Run flake8'
steps:
- script: |
python -m venv lint
. lint/bin/activate - stage: 'Tests'
pip install flake8
flake8 homeassistant tests script
displayName: 'Run flake8'
- job: 'Check'
dependsOn: dependsOn:
- Lint - 'Overview'
pool: jobs:
vmImage: 'ubuntu-latest' - job: 'PyTests'
strategy: pool:
maxParallel: 1 vmImage: 'ubuntu-latest'
matrix: strategy:
Python35: maxParallel: 3
python.version: '3.5' matrix:
python.container: '35' Python35:
Python36: python.container: '35'
python.version: '3.6' Python36:
python.container: '36' python.container: '36'
Python37: Python37:
python.version: '3.7' python.container: '37'
python.container: '37' container: $[ variables['python.container'] ]
container: $[ variables['python.container'] ] steps:
steps: - script: |
- script: | python --version > .cache
echo "$(python.version)" > .cache displayName: 'Set python $(python.version) for requirement cache'
displayName: 'Set python $(python.version) for requirement cache' - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
displayName: 'Restore artifacts based on Requirements'
inputs:
keyfile: 'requirements_test_all.txt, .cache'
targetfolder: './venv'
vstsFeed: '$(ArtifactFeed)'
- script: |
set -e
python -m venv venv
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1 . venv/bin/activate
displayName: 'Restore artifacts based on Requirements' pip install -U pip setuptools
inputs: pip install -r requirements_test_all.txt -c homeassistant/package_constraints.txt
keyfile: 'requirements_test_all.txt, .cache' pip install pytest-azurepipelines -c homeassistant/package_constraints.txt
targetfolder: './venv' displayName: 'Create Virtual Environment & Install Requirements'
vstsFeed: '$(ArtifactFeed)' condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
displayName: 'Save artifacts based on Requirements'
inputs:
keyfile: 'requirements_test_all.txt, .cache'
targetfolder: './venv'
vstsFeed: '$(ArtifactFeed)'
- script: |
. venv/bin/activate
pip install -e .
displayName: 'Install Home Assistant for python $(python.version)'
- script: |
. venv/bin/activate
pytest --timeout=9 --durations=10 --junitxml=junit/test-results.xml -qq -o console_output_style=count -p no:sugar tests
displayName: 'Run pytest for python $(python.version)'
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Publish test results for Python $(python.version)'
- script: | - stage: 'FullCheck'
set -e
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools
pip install -r requirements_test_all.txt -c homeassistant/package_constraints.txt
displayName: 'Create Virtual Environment & Install Requirements'
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
displayName: 'Save artifacts based on Requirements'
inputs:
keyfile: 'requirements_test_all.txt, .cache'
targetfolder: './venv'
vstsFeed: '$(ArtifactFeed)'
- script: |
. venv/bin/activate
pip install -e .
displayName: 'Install Home Assistant for python $(python.version)'
- script: |
. venv/bin/activate
pytest --timeout=9 --durations=10 --junitxml=junit/test-results.xml -qq -o console_output_style=count -p no:sugar tests
displayName: 'Run pytest for python $(python.version)'
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Publish test results for Python $(python.version)'
- job: 'FullCheck'
dependsOn: dependsOn:
- Check - 'Overview'
pool: jobs:
vmImage: 'ubuntu-latest' - job: 'Pytlint'
container: $[ variables['PythonMain'] ] dependsOn:
steps: - Check
- script: | pool:
echo "$(PythonMain)" > .cache vmImage: 'ubuntu-latest'
displayName: 'Set python $(python.version) for requirement cache' container: $[ variables['PythonMain'] ]
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1 steps:
displayName: 'Restore artifacts based on Requirements' - script: |
inputs: python --version > .cache
keyfile: 'requirements_all.txt, requirements_test.txt, .cache' displayName: 'Set python $(python.version) for requirement cache'
targetfolder: './venv' - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
vstsFeed: '$(ArtifactFeed)' displayName: 'Restore artifacts based on Requirements'
inputs:
- script: | keyfile: 'requirements_all.txt, requirements_test.txt, .cache'
set -e targetfolder: './venv'
python -m venv venv vstsFeed: '$(ArtifactFeed)'
- script: |
. venv/bin/activate set -e
pip install -U pip setuptools python -m venv venv
pip install -r requirements_all.txt -c homeassistant/package_constraints.txt
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
displayName: 'Create Virtual Environment & Install Requirements'
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
displayName: 'Save artifacts based on Requirements'
inputs:
keyfile: 'requirements_all.txt, requirements_test.txt, .cache'
targetfolder: './venv'
vstsFeed: '$(ArtifactFeed)'
- script: |
. venv/bin/activate
pip install -e .
displayName: 'Install Home Assistant for python $(python.version)'
- script: |
. venv/bin/activate
pylint homeassistant
displayName: 'Run pylint'
. venv/bin/activate
pip install -U pip setuptools
pip install -r requirements_all.txt -c homeassistant/package_constraints.txt
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
displayName: 'Create Virtual Environment & Install Requirements'
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
displayName: 'Save artifacts based on Requirements'
inputs:
keyfile: 'requirements_all.txt, requirements_test.txt, .cache'
targetfolder: './venv'
vstsFeed: '$(ArtifactFeed)'
- script: |
. venv/bin/activate
pip install -e .
displayName: 'Install Home Assistant for python $(python.version)'
- script: |
. venv/bin/activate
pylint homeassistant
displayName: 'Run pylint'