Full speed azure
parent
468b0e8934
commit
538caafac2
|
@ -5,7 +5,8 @@ trigger:
|
|||
branches:
|
||||
include:
|
||||
- dev
|
||||
pr: none
|
||||
pr:
|
||||
- dev
|
||||
|
||||
resources:
|
||||
containers:
|
||||
|
@ -15,17 +16,16 @@ resources:
|
|||
image: homeassistant/ci-azure:3.6
|
||||
- container: 37
|
||||
image: homeassistant/ci-azure:3.7
|
||||
|
||||
|
||||
variables:
|
||||
- name: ArtifactFeed
|
||||
value: '2df3ae11-3bf6-49bc-a809-ba0d340d6a6d'
|
||||
- name: PythonMain
|
||||
value: '35'
|
||||
|
||||
stages:
|
||||
|
||||
- stage: 'Overview'
|
||||
jobs:
|
||||
|
||||
- job: 'Lint'
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
|
@ -39,37 +39,33 @@ jobs:
|
|||
flake8 homeassistant tests script
|
||||
displayName: 'Run flake8'
|
||||
|
||||
|
||||
- job: 'Check'
|
||||
- stage: 'Tests'
|
||||
dependsOn:
|
||||
- Lint
|
||||
- 'Overview'
|
||||
jobs:
|
||||
- job: 'PyTests'
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
strategy:
|
||||
maxParallel: 1
|
||||
maxParallel: 3
|
||||
matrix:
|
||||
Python35:
|
||||
python.version: '3.5'
|
||||
python.container: '35'
|
||||
Python36:
|
||||
python.version: '3.6'
|
||||
python.container: '36'
|
||||
Python37:
|
||||
python.version: '3.7'
|
||||
python.container: '37'
|
||||
container: $[ variables['python.container'] ]
|
||||
steps:
|
||||
- script: |
|
||||
echo "$(python.version)" > .cache
|
||||
python --version > .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
|
||||
|
@ -77,33 +73,34 @@ jobs:
|
|||
. venv/bin/activate
|
||||
pip install -U pip setuptools
|
||||
pip install -r requirements_test_all.txt -c homeassistant/package_constraints.txt
|
||||
pip install pytest-azurepipelines -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'
|
||||
- stage: 'FullCheck'
|
||||
dependsOn:
|
||||
- 'Overview'
|
||||
jobs:
|
||||
- job: 'Pytlint'
|
||||
dependsOn:
|
||||
- Check
|
||||
pool:
|
||||
|
@ -111,7 +108,7 @@ jobs:
|
|||
container: $[ variables['PythonMain'] ]
|
||||
steps:
|
||||
- script: |
|
||||
echo "$(PythonMain)" > .cache
|
||||
python --version > .cache
|
||||
displayName: 'Set python $(python.version) for requirement cache'
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||
displayName: 'Restore artifacts based on Requirements'
|
||||
|
@ -119,7 +116,6 @@ jobs:
|
|||
keyfile: 'requirements_all.txt, requirements_test.txt, .cache'
|
||||
targetfolder: './venv'
|
||||
vstsFeed: '$(ArtifactFeed)'
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
python -m venv venv
|
||||
|
@ -130,21 +126,17 @@ jobs:
|
|||
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'
|
||||
|
||||
|
|
Loading…
Reference in New Issue