Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
azure-pipelines-ci.yml 8.56 KiB
# https://dev.azure.com/home-assistant

trigger:
  batch: true
  branches:
    include:
      - rc
      - dev
      - master
pr:
  - rc
  - dev
  - master

resources:
  containers:
    - container: 37
      image: homeassistant/ci-azure:3.7
    - container: 38
      image: homeassistant/ci-azure:3.8
  repositories:
    - repository: azure
      type: github
      name: "home-assistant/ci-azure"
      endpoint: "home-assistant"
variables:
  - name: PythonMain
    value: "37"
  - name: versionHadolint
    value: "v1.17.6"

stages:
  - stage: "Overview"
    jobs:
      - job: "Lint"
        pool:
          vmImage: "ubuntu-latest"
        container: $[ variables['PythonMain'] ]
        steps:
          - template: templates/azp-step-cache.yaml@azure
            parameters:
              keyfile: "requirements_test.txt | homeassistant/package_constraints.txt"
              build: |
                python -m venv venv

                . venv/bin/activate
                pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
                pre-commit install-hooks
          - script: |
              . venv/bin/activate
              pre-commit run --hook-stage manual check-executables-have-shebangs --all-files
            displayName: "Run executables check"
          - script: |
              . venv/bin/activate
              pre-commit run codespell --all-files
            displayName: "Run codespell"
          - script: |
              . venv/bin/activate
              pre-commit run flake8 --all-files
            displayName: "Run flake8"
          - script: |
              . venv/bin/activate
              pre-commit run bandit --all-files
            displayName: "Run bandit"
          - script: |
              . venv/bin/activate
              pre-commit run isort --all-files --show-diff-on-failure
            displayName: "Run isort"
          - script: |
              . venv/bin/activate