--- # Based on https://gitlab.com/hassio-addons/addon-node-red/blob/master/.gitlab-ci.yml variables: DOCKER_DRIVER: overlay2 stages: - lint - test - build - deploy .lint: &lint stage: lint before_script: - pip install -e . tags: - python2.7 - esphome-lint .test: &test stage: test before_script: - pip install -e . tags: - python2.7 - esphome-test variables: TZ: UTC .docker-builder: &docker-builder before_script: - docker info - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" services: - docker:dind tags: - hassio-builder flake8: <<: *lint script: - flake8 esphome pylint: <<: *lint script: - pylint esphome test1: <<: *test script: - esphome tests/test1.yaml compile test2: <<: *test script: - esphome tests/test2.yaml compile test3: <<: *test script: - esphome tests/test3.yaml compile # Build jobs build:normal: <<: *docker-builder stage: build script: - docker build -t "${CI_REGISTRY}/esphome/esphome:dev" . .deploy-pypi: &deploy-pypi stage: deploy before_script: - pip install -e . - pip install twine script: - python setup.py sdist - twine upload dist/* tags: - python2.7 - esphome-test deploy-release:pypi: <<: *deploy-pypi only: - /^v\d+\.\d+\.\d+$/ except: - /^(?!master).+@/ deploy-beta:pypi: <<: *deploy-pypi only: - /^v\d+\.\d+\.\d+b\d+$/ except: - /^(?!rc).+@/