mirror of
https://github.com/esphome/esphome.git
synced 2024-12-22 13:34:54 +01:00
7c7032c59e
* Implement custom sensor platform
* Update
* Ethernet
* Lint
* Fix
* Login page
* Rename cookie secret
* Update manifest
* Update cookie check logic
* Favicon
* Fix
* Favicon manifest
* Fix
* Fix
* Fix
* Use hostname
* Message
* Temporary commit for screenshot
* Automatic board selection
* Undo temporary commit
* Update esphomeyaml-edge
* In-dashboard editing and hosting files locally
* Update esphomeyaml-edge
* Better ANSI color escaping
* Message
* Lint
* Download Efficiency
* Fix gitlab
* Fix
* Rename extra_libraries to libraries
* Add example
* Update README.md
* Update README.md
* Update README.md
* HassIO -> Hass.io
* Updates
* Add update available notice
* Update
* Fix substitutions
* Better error message
* Re-do dashboard ANSI colors
* Only include FastLED if user says so
* Autoscroll logs
* Remove old checks
* Use safer RedirectText
* Improvements
* Fix
* Use enviornment variable
* Use http://hassio/host/info
* Fix conditions
* Update platformio versions
* Revert "Use enviornment variable"
This reverts commit 7f038eb5d2
.
* Fix
* README update
* Temp
* Better invalid config messages
* Platformio debug
* Improve error messages
* Debug
* Remove debug
* Multi Conf
* Update
* Better paths
* Remove unused
* Fixes
* Lint
* lib_ignore
* Try fix platformio colors
* Fix dashboard scrolling
* Revert
* Lint
* Revert
314 lines
8.3 KiB
YAML
314 lines
8.3 KiB
YAML
---
|
|
# 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
|
|
- esphomeyaml-lint
|
|
|
|
.test: &test
|
|
stage: test
|
|
before_script:
|
|
- pip install -e .
|
|
tags:
|
|
- python2.7
|
|
- esphomeyaml-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 esphomeyaml
|
|
|
|
pylint:
|
|
<<: *lint
|
|
script:
|
|
- pylint esphomeyaml
|
|
|
|
test1:
|
|
<<: *test
|
|
script:
|
|
- esphomeyaml tests/test1.yaml compile
|
|
|
|
test2:
|
|
<<: *test
|
|
script:
|
|
- esphomeyaml tests/test2.yaml compile
|
|
|
|
.build-hassio: &build-hassio
|
|
<<: *docker-builder
|
|
stage: build
|
|
script:
|
|
- docker run --rm --privileged hassioaddons/qemu-user-static:latest
|
|
- BUILD_FROM=hassioaddons/ubuntu-base-${ADDON_ARCH}:2.2.0
|
|
- ADDON_VERSION="${CI_COMMIT_TAG#v}"
|
|
- ADDON_VERSION="${ADDON_VERSION:-${CI_COMMIT_SHA:0:7}}"
|
|
- echo "Build from ${BUILD_FROM}"
|
|
- echo "Add-on version ${ADDON_VERSION}"
|
|
- echo "Tag ${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:dev"
|
|
- echo "Tag ${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}"
|
|
- |
|
|
docker build \
|
|
--build-arg "BUILD_FROM=${BUILD_FROM}" \
|
|
--build-arg "BUILD_DATE=$(date +"%Y-%m-%dT%H:%M:%SZ")" \
|
|
--build-arg "BUILD_ARCH=${ADDON_ARCH}" \
|
|
--build-arg "BUILD_REF=${CI_COMMIT_SHA}" \
|
|
--build-arg "BUILD_VERSION=${ADDON_VERSION}" \
|
|
--tag "${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:dev" \
|
|
--tag "${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
|
--file "docker/Dockerfile.hassio" \
|
|
.
|
|
- |
|
|
if [ "${DO_PUSH:-true}" = true ]; then
|
|
echo "Pushing to CI registry"
|
|
docker push ${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}
|
|
docker push ${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:dev
|
|
fi
|
|
|
|
# Generic deploy template
|
|
.deploy-release: &deploy-release
|
|
<<: *docker-builder
|
|
stage: deploy
|
|
script:
|
|
- version="${CI_COMMIT_TAG#v}"
|
|
- echo "Publishing release version ${version}"
|
|
- docker pull "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}"
|
|
- docker login -u "$DOCKER_USER" -p "$DOCKER_PASSWORD"
|
|
|
|
- echo "Tag ${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
- |
|
|
docker tag \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
|
|
- echo "Tag ${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
|
- |
|
|
docker tag \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
|
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
|
|
|
- echo "Tag ${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
- |
|
|
docker tag \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
|
|
- echo "Tag ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
- |
|
|
docker tag \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
|
|
- echo "Tag ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
|
- |
|
|
docker tag \
|
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}" \
|
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
|
|
|
- echo "Tag ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
- |
|
|
docker tag \
|
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}" \
|
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
only:
|
|
- /^v\d+\.\d+\.\d+$/
|
|
except:
|
|
- /^(?!master).+@/
|
|
|
|
.deploy-beta: &deploy-beta
|
|
<<: *docker-builder
|
|
stage: deploy
|
|
script:
|
|
- version="${CI_COMMIT_TAG#v}"
|
|
- echo "Publishing beta version ${version}"
|
|
- docker pull "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}"
|
|
- docker login -u "$DOCKER_USER" -p "$DOCKER_PASSWORD"
|
|
|
|
- echo "Tag ${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
- |
|
|
docker tag \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
|
|
- echo "Tag ${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
- |
|
|
docker tag \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
|
|
- echo "Tag ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
- |
|
|
docker tag \
|
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
|
|
- echo "Tag ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
- |
|
|
docker tag \
|
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}" \
|
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
only:
|
|
- /^v\d+\.\d+\.\d+b\d+$/
|
|
except:
|
|
- /^(?!rc).+@/
|
|
|
|
# Build jobs
|
|
build:normal:
|
|
<<: *docker-builder
|
|
stage: build
|
|
script:
|
|
- docker build -t "${CI_REGISTRY}/ottowinter/esphomeyaml:dev" .
|
|
|
|
.build-hassio-edge: &build-hassio-edge
|
|
<<: *build-hassio
|
|
except:
|
|
- /^v\d+\.\d+\.\d+$/
|
|
- /^v\d+\.\d+\.\d+b\d+$/
|
|
|
|
.build-hassio-release: &build-hassio-release
|
|
<<: *build-hassio
|
|
only:
|
|
- /^v\d+\.\d+\.\d+$/
|
|
- /^v\d+\.\d+\.\d+b\d+$/
|
|
|
|
build:hassio-armhf-edge:
|
|
<<: *build-hassio-edge
|
|
variables:
|
|
ADDON_ARCH: armhf
|
|
DO_PUSH: "false"
|
|
|
|
build:hassio-armhf:
|
|
<<: *build-hassio-release
|
|
variables:
|
|
ADDON_ARCH: armhf
|
|
|
|
#build:hassio-aarch64-edge:
|
|
# <<: *build-hassio-edge
|
|
# variables:
|
|
# ADDON_ARCH: aarch64
|
|
# DO_PUSH: "false"
|
|
|
|
#build:hassio-aarch64:
|
|
# <<: *build-hassio-release
|
|
# variables:
|
|
# ADDON_ARCH: aarch64
|
|
|
|
build:hassio-i386-edge:
|
|
<<: *build-hassio-edge
|
|
variables:
|
|
ADDON_ARCH: i386
|
|
DO_PUSH: "false"
|
|
|
|
build:hassio-i386:
|
|
<<: *build-hassio-release
|
|
variables:
|
|
ADDON_ARCH: i386
|
|
|
|
build:hassio-amd64-edge:
|
|
<<: *build-hassio-edge
|
|
variables:
|
|
ADDON_ARCH: amd64
|
|
DO_PUSH: "false"
|
|
|
|
build:hassio-amd64:
|
|
<<: *build-hassio-release
|
|
variables:
|
|
ADDON_ARCH: amd64
|
|
|
|
# Deploy jobs
|
|
deploy-release:armhf:
|
|
<<: *deploy-release
|
|
variables:
|
|
ADDON_ARCH: armhf
|
|
|
|
deploy-beta:armhf:
|
|
<<: *deploy-beta
|
|
variables:
|
|
ADDON_ARCH: armhf
|
|
|
|
#deploy-release:aarch64:
|
|
# <<: *deploy-release
|
|
# variables:
|
|
# ADDON_ARCH: aarch64
|
|
|
|
#deploy-beta:aarch64:
|
|
# <<: *deploy-beta
|
|
# variables:
|
|
# ADDON_ARCH: aarch64
|
|
|
|
deploy-release:i386:
|
|
<<: *deploy-release
|
|
variables:
|
|
ADDON_ARCH: i386
|
|
|
|
deploy-beta:i386:
|
|
<<: *deploy-beta
|
|
variables:
|
|
ADDON_ARCH: i386
|
|
|
|
deploy-release:amd64:
|
|
<<: *deploy-release
|
|
variables:
|
|
ADDON_ARCH: amd64
|
|
|
|
deploy-beta:amd64:
|
|
<<: *deploy-beta
|
|
variables:
|
|
ADDON_ARCH: amd64
|
|
|
|
.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
|
|
- esphomeyaml-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).+@/
|