diff --git a/azure-pipelines-ci.yml b/azure-pipelines-ci.yml index 7cafd14e80d..8b186b2ef78 100644 --- a/azure-pipelines-ci.yml +++ b/azure-pipelines-ci.yml @@ -5,17 +5,42 @@ trigger: branches: include: - dev -pr: none +pr: none + +resources: + containers: + - container: 35 + image: python:3.5 + - container: 36 + image: python:3.6 + - container: 37 + image: python:3.7 variables: - name: ArtifactFeed value: '2df3ae11-3bf6-49bc-a809-ba0d340d6a6d' + - name: PythonMain + value: '35' jobs: +- job: 'Lint' + pool: + vmImage: 'ubuntu-latest' + container: $[ variables['PythonMain'] ] + steps: + - script: | + pip install flake8 + flake8 homeassistant tests script + displayName: 'Run flake8' + + - job: 'Check' + dependsOn: + - Lint + condition: succeeded() pool: vmImage: 'ubuntu-latest' strategy: @@ -23,18 +48,18 @@ jobs: matrix: Python35: python.version: '3.5' - python.container: 'python:3.5' + python.container: '35' Python36: python.version: '3.6' - python.container: 'python:3.6' + python.container: '36' Python37: python.version: '3.7' - python.container: 'python:3.7' + python.container: '37' container: $[ variables['python.container'] ] steps: - script: | - sudo apt-get update - sudo apt-get install -y --no-install-recommends \ + apt-get update + apt-get install -y --no-install-recommends \ libudev libavformat libavcodec libavdevice libavutil libswscale libswresample libavfilter echo "$(python.version)" > .cache @@ -49,7 +74,7 @@ jobs: - script: | # Install build env - sudo apt-get install -y --no-install-recommends \ + apt-get install -y --no-install-recommends \ libudev-dev libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev # Setup venv @@ -57,7 +82,7 @@ jobs: . venv/bin/activate pip install -U pip setuptools - pip3 install -r requirements_test_all.txt -c homeassistant/package_constraints.txt + pip install -r requirements_test_all.txt -c homeassistant/package_constraints.txt displayName: 'Create Virtual Environment & Install Requirements' condition: ne(variables['CacheRestored'], 'true') @@ -77,3 +102,11 @@ jobs: . venv/bin/activate pytest --timeout=9 --durations=10 -qq -o console_output_style=count -p no:sugar tests displayName: 'Run pytest for python $(python.version)' + + - script: | + . venv/bin/activate + pip install -r requirements_all.txt -c homeassistant/package_constraints.txt + + pylint homeassistant + displayName: 'Run pylint' + condition: eq($(python.container), $(PythonMain))