mirror of
https://github.com/esphome/esphome.git
synced 2025-01-19 04:20:56 +00:00
Update Gitlab Build Script (#215)
This commit is contained in:
parent
27b86d89b0
commit
8a58ff91c3
166
.gitlab-ci.yml
166
.gitlab-ci.yml
@ -61,55 +61,84 @@ test2:
|
|||||||
<<: *docker-builder
|
<<: *docker-builder
|
||||||
stage: build
|
stage: build
|
||||||
script:
|
script:
|
||||||
|
- docker run --rm --privileged hassioaddons/qemu-user-static:latest
|
||||||
|
- BUILD_FROM=homeassistant/${ADDON_ARCH}-base-ubuntu:latest
|
||||||
|
- ADDON_VERSION="${CI_COMMIT_TAG#v}"
|
||||||
|
- ADDON_VERSION="${ADDON_VERSION:-${CI_COMMIT_SHA:0:7}}"
|
||||||
|
- ESPHOMELIB_VERSION="${ESPHOMELIB_VERSION:-''}"
|
||||||
|
- echo "Build from ${BUILD_FROM}"
|
||||||
|
- echo "Add-on version ${ADDON_VERSION}"
|
||||||
|
- echo "Esphomelib version ${ESPHOMELIB_VERSION}"
|
||||||
|
- echo "Tag ${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:dev"
|
||||||
|
- echo "Tag ${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}"
|
||||||
- |
|
- |
|
||||||
hassio-builder.sh \
|
docker build \
|
||||||
-t . \
|
--build-arg "BUILD_FROM=${BUILD_FROM}" \
|
||||||
-i ottowinter/esphomeyaml-hassio-${ADDON_ARCH} \
|
--build-arg "ADDON_ARCH=${ADDON_ARCH}" \
|
||||||
-d "$CI_REGISTRY" \
|
--build-arg "ADDON_VERSION=${ADDON_VERSION}" \
|
||||||
--${ADDON_ARCH}
|
--build-arg "ESPHOMELIB_VERSION=${ESPHOMELIB_VERSION}" \
|
||||||
|
--tag "${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:dev" \
|
||||||
|
--tag "${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
||||||
|
--file "docker/Dockerfile.hassio" \
|
||||||
|
.
|
||||||
- |
|
- |
|
||||||
docker tag \
|
if [ "${DO_PUSH:-true}" = true ]; then
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:dev" \
|
echo "Pushing to CI registry"
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}"
|
docker push ${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}
|
||||||
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}"
|
docker push ${CI_REGISTRY}/esphomeyaml-hassio-${ADDON_ARCH}:dev
|
||||||
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:dev"
|
fi
|
||||||
retry: 2
|
|
||||||
|
|
||||||
# Generic deploy template
|
# Generic deploy template
|
||||||
.deploy-release: &deploy-release
|
.deploy-release: &deploy-release
|
||||||
<<: *docker-builder
|
<<: *docker-builder
|
||||||
stage: deploy
|
stage: deploy
|
||||||
script:
|
script:
|
||||||
- version=${CI_COMMIT_TAG:1}
|
- version="${CI_COMMIT_TAG#v}"
|
||||||
- echo "Publishing release version ${version}"
|
- echo "Publishing release version ${version}"
|
||||||
- docker login -u "$DOCKER_USER" -p "$DOCKER_PASSWORD"
|
|
||||||
- docker pull "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}"
|
- 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 \
|
docker tag \
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
"${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 \
|
docker tag \
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
"${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 \
|
docker tag \
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
||||||
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
||||||
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
||||||
|
|
||||||
|
- echo "Tag ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
||||||
- |
|
- |
|
||||||
docker tag \
|
docker tag \
|
||||||
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}" \
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}" \
|
||||||
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
||||||
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
||||||
|
|
||||||
|
- echo "Tag ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
||||||
- |
|
- |
|
||||||
docker tag \
|
docker tag \
|
||||||
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}" \
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}" \
|
||||||
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
||||||
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
|
||||||
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
|
||||||
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
||||||
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:latest"
|
|
||||||
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
||||||
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
||||||
only:
|
only:
|
||||||
- /^v\d+\.\d+\.\d+$/
|
- /^v\d+\.\d+\.\d+$/
|
||||||
except:
|
except:
|
||||||
@ -119,24 +148,37 @@ test2:
|
|||||||
<<: *docker-builder
|
<<: *docker-builder
|
||||||
stage: deploy
|
stage: deploy
|
||||||
script:
|
script:
|
||||||
- version=${CI_COMMIT_TAG:1}
|
- version="${CI_COMMIT_TAG#v}"
|
||||||
- echo "Publishing beta version ${version}"
|
- echo "Publishing beta version ${version}"
|
||||||
- docker login -u "$DOCKER_USER" -p "$DOCKER_PASSWORD"
|
|
||||||
- docker pull "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}"
|
- 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 \
|
docker tag \
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
"${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 \
|
docker tag \
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
"${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${CI_COMMIT_SHA}" \
|
||||||
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
||||||
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
||||||
|
|
||||||
|
- echo "Tag ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
||||||
- |
|
- |
|
||||||
docker tag \
|
docker tag \
|
||||||
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}" \
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}" \
|
||||||
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
"ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
||||||
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:beta"
|
|
||||||
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:${version}"
|
|
||||||
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
- docker push "ottowinter/esphomeyaml-hassio-${ADDON_ARCH}:rc"
|
||||||
only:
|
only:
|
||||||
- /^v\d+\.\d+\.\d+b\d+$/
|
- /^v\d+\.\d+\.\d+b\d+$/
|
||||||
@ -149,30 +191,64 @@ build:normal:
|
|||||||
stage: build
|
stage: build
|
||||||
script:
|
script:
|
||||||
- docker build -t "${CI_REGISTRY}/ottowinter/esphomeyaml:dev" .
|
- docker build -t "${CI_REGISTRY}/ottowinter/esphomeyaml:dev" .
|
||||||
- |
|
|
||||||
docker tag \
|
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml:dev" \
|
|
||||||
"${CI_REGISTRY}/ottowinter/esphomeyaml:${CI_COMMIT_SHA}"
|
|
||||||
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml:${CI_COMMIT_SHA}"
|
|
||||||
- docker push "${CI_REGISTRY}/ottowinter/esphomeyaml:dev"
|
|
||||||
|
|
||||||
build:armhf:
|
.build-hassio-edge: &build-hassio-edge
|
||||||
<<: *build-hassio
|
<<: *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"
|
||||||
|
ESPHOMELIB_VERSION: "${CI_COMMIT_TAG}"
|
||||||
|
|
||||||
|
build:hassio-armhf:
|
||||||
|
<<: *build-hassio-release
|
||||||
variables:
|
variables:
|
||||||
ADDON_ARCH: armhf
|
ADDON_ARCH: armhf
|
||||||
|
|
||||||
#build:aarch64:
|
build:hassio-aarch64-edge:
|
||||||
# <<: *build
|
<<: *build-hassio-edge
|
||||||
# variables:
|
variables:
|
||||||
# ADDON_ARCH: aarch64
|
ADDON_ARCH: aarch64
|
||||||
|
DO_PUSH: "false"
|
||||||
|
ESPHOMELIB_VERSION: "${CI_COMMIT_TAG}"
|
||||||
|
|
||||||
build:i386:
|
build:hassio-aarch64:
|
||||||
<<: *build-hassio
|
<<: *build-hassio-release
|
||||||
|
variables:
|
||||||
|
ADDON_ARCH: aarch64
|
||||||
|
|
||||||
|
build:hassio-i386-edge:
|
||||||
|
<<: *build-hassio-edge
|
||||||
|
variables:
|
||||||
|
ADDON_ARCH: i386
|
||||||
|
DO_PUSH: "false"
|
||||||
|
ESPHOMELIB_VERSION: "${CI_COMMIT_TAG}"
|
||||||
|
|
||||||
|
build:hassio-i386:
|
||||||
|
<<: *build-hassio-release
|
||||||
variables:
|
variables:
|
||||||
ADDON_ARCH: i386
|
ADDON_ARCH: i386
|
||||||
|
|
||||||
build:amd64:
|
build:hassio-amd64-edge:
|
||||||
<<: *build-hassio
|
<<: *build-hassio-edge
|
||||||
|
variables:
|
||||||
|
ADDON_ARCH: amd64
|
||||||
|
DO_PUSH: "false"
|
||||||
|
ESPHOMELIB_VERSION: "${CI_COMMIT_TAG}"
|
||||||
|
|
||||||
|
build:hassio-amd64:
|
||||||
|
<<: *build-hassio-release
|
||||||
variables:
|
variables:
|
||||||
ADDON_ARCH: amd64
|
ADDON_ARCH: amd64
|
||||||
|
|
||||||
@ -187,15 +263,15 @@ deploy-beta:armhf:
|
|||||||
variables:
|
variables:
|
||||||
ADDON_ARCH: armhf
|
ADDON_ARCH: armhf
|
||||||
|
|
||||||
#deploy-release:aarch64:
|
deploy-release:aarch64:
|
||||||
# <<: *deploy-release
|
<<: *deploy-release
|
||||||
# variables:
|
variables:
|
||||||
# ADDON_ARCH: aarch64
|
ADDON_ARCH: aarch64
|
||||||
|
|
||||||
#deploy-beta:aarch64:
|
deploy-beta:aarch64:
|
||||||
# <<: *deploy-beta
|
<<: *deploy-beta
|
||||||
# variables:
|
variables:
|
||||||
# ADDON_ARCH: aarch64
|
ADDON_ARCH: aarch64
|
||||||
|
|
||||||
deploy-release:i386:
|
deploy-release:i386:
|
||||||
<<: *deploy-release
|
<<: *deploy-release
|
||||||
|
27
Dockerfile
27
Dockerfile
@ -1,25 +1,32 @@
|
|||||||
FROM python:2.7
|
ARG BUILD_FROM=python:2.7
|
||||||
|
FROM ${BUILD_FROM}
|
||||||
MAINTAINER Otto Winter <contact@otto-winter.com>
|
MAINTAINER Otto Winter <contact@otto-winter.com>
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
python-pil \
|
python-pil \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
git \
|
||||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* && \
|
||||||
|
pip install --no-cache-dir --no-binary :all: platformio && \
|
||||||
|
platformio settings set enable_telemetry No && \
|
||||||
|
platformio settings set check_libraries_interval 1000000 && \
|
||||||
|
platformio settings set check_platformio_interval 1000000 && \
|
||||||
|
platformio settings set check_platforms_interval 1000000
|
||||||
|
|
||||||
ENV ESPHOMEYAML_OTA_HOST_PORT=6123
|
ENV ESPHOMEYAML_OTA_HOST_PORT=6123
|
||||||
EXPOSE 6123
|
EXPOSE 6123
|
||||||
VOLUME /config
|
VOLUME /config
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN pip install --no-cache-dir --no-binary :all: platformio && \
|
COPY docker/platformio.ini /pio/platformio.ini
|
||||||
platformio settings set enable_telemetry No
|
ARG ESPHOMELIB_VERSION=""
|
||||||
|
RUN platformio run -d /pio; rm -rf /pio && \
|
||||||
COPY docker/platformio.ini /usr/src/app/
|
/bin/bash -c "if [ ! -z '$ESPHOMELIB_VERSION']; then \
|
||||||
RUN platformio settings set enable_telemetry No && \
|
platformio lib -g install '${ESPHOMELIB_VERSION}'; \
|
||||||
platformio run -e espressif32 -e espressif8266; exit 0
|
fi"
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN pip install --no-cache-dir -e . && \
|
RUN pip install --no-cache-dir --no-binary :all: -e . && \
|
||||||
pip install --no-cache-dir tzlocal pillow
|
pip install --no-cache-dir --no-binary :all: tzlocal
|
||||||
|
|
||||||
WORKDIR /config
|
WORKDIR /config
|
||||||
ENTRYPOINT ["esphomeyaml"]
|
ENTRYPOINT ["esphomeyaml"]
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
# Dockerfile for aarch64 version of HassIO add-on
|
|
||||||
FROM arm64v8/ubuntu:bionic
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
||||||
python \
|
|
||||||
python-pip \
|
|
||||||
python-setuptools \
|
|
||||||
python-pil \
|
|
||||||
git \
|
|
||||||
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/*rm -rf /var/lib/apt/lists/* /tmp/* && \
|
|
||||||
pip install --no-cache-dir --no-binary :all: platformio && \
|
|
||||||
platformio settings set enable_telemetry No
|
|
||||||
|
|
||||||
COPY docker/platformio.ini /pio/platformio.ini
|
|
||||||
RUN platformio run -d /pio; rm -rf /pio
|
|
||||||
|
|
||||||
COPY . .
|
|
||||||
RUN pip install --no-cache-dir --no-binary :all: -e . && \
|
|
||||||
pip install --no-cache-dir --no-binary :all: tzlocal
|
|
||||||
|
|
||||||
CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"]
|
|
@ -1,21 +0,0 @@
|
|||||||
# Dockerfile for amd64 version of HassIO add-on
|
|
||||||
FROM ubuntu:bionic
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
||||||
python \
|
|
||||||
python-pip \
|
|
||||||
python-setuptools \
|
|
||||||
python-pil \
|
|
||||||
git \
|
|
||||||
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/*rm -rf /var/lib/apt/lists/* /tmp/* && \
|
|
||||||
pip install --no-cache-dir --no-binary :all: platformio && \
|
|
||||||
platformio settings set enable_telemetry No
|
|
||||||
|
|
||||||
COPY docker/platformio.ini /pio/platformio.ini
|
|
||||||
RUN platformio run -d /pio; rm -rf /pio
|
|
||||||
|
|
||||||
COPY . .
|
|
||||||
RUN pip install --no-cache-dir --no-binary :all: -e . && \
|
|
||||||
pip install --no-cache-dir --no-binary :all: tzlocal
|
|
||||||
|
|
||||||
CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"]
|
|
@ -1,31 +0,0 @@
|
|||||||
# Dockerfile for armhf version of HassIO add-on
|
|
||||||
FROM homeassistant/armhf-base:latest
|
|
||||||
|
|
||||||
RUN apk add --no-cache \
|
|
||||||
python2 \
|
|
||||||
python2-dev \
|
|
||||||
py2-pip \
|
|
||||||
git \
|
|
||||||
gcc \
|
|
||||||
openssh \
|
|
||||||
libc6-compat \
|
|
||||||
jpeg-dev \
|
|
||||||
zlib-dev \
|
|
||||||
freetype-dev \
|
|
||||||
lcms2-dev \
|
|
||||||
openjpeg-dev \
|
|
||||||
tiff-dev \
|
|
||||||
libc-dev \
|
|
||||||
linux-headers \
|
|
||||||
&& \
|
|
||||||
pip install --no-cache-dir --no-binary :all: platformio && \
|
|
||||||
platformio settings set enable_telemetry No
|
|
||||||
|
|
||||||
COPY docker/platformio-esp8266.ini /pio/platformio.ini
|
|
||||||
RUN platformio run -d /pio; rm -rf /pio
|
|
||||||
|
|
||||||
COPY . .
|
|
||||||
RUN pip install --no-cache-dir --no-binary :all: -e . && \
|
|
||||||
pip install --no-cache-dir pillow tzlocal
|
|
||||||
|
|
||||||
CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"]
|
|
@ -27,6 +27,4 @@ RUN apt-get update && apt-get install -y \
|
|||||||
binfmt-support \
|
binfmt-support \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY docker/hassio-builder.sh /usr/bin/
|
|
||||||
|
|
||||||
WORKDIR /data
|
WORKDIR /data
|
||||||
|
44
docker/Dockerfile.hassio
Normal file
44
docker/Dockerfile.hassio
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# Dockerfile for HassIO add-on
|
||||||
|
ARG BUILD_FROM=homeassistant/amd64-base-ubuntu:latest
|
||||||
|
FROM ${BUILD_FROM}
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
python \
|
||||||
|
python-pip \
|
||||||
|
python-setuptools \
|
||||||
|
python-pil \
|
||||||
|
git \
|
||||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* && \
|
||||||
|
pip install --no-cache-dir --no-binary :all: platformio && \
|
||||||
|
platformio settings set enable_telemetry No && \
|
||||||
|
platformio settings set check_libraries_interval 1000000 && \
|
||||||
|
platformio settings set check_platformio_interval 1000000 && \
|
||||||
|
platformio settings set check_platforms_interval 1000000
|
||||||
|
|
||||||
|
COPY docker/platformio.ini /pio/platformio.ini
|
||||||
|
ARG ESPHOMELIB_VERSION=""
|
||||||
|
RUN platformio run -d /pio; rm -rf /pio && \
|
||||||
|
/bin/bash -c "if [ ! -z '$ESPHOMELIB_VERSION']; then \
|
||||||
|
platformio lib -g install '${ESPHOMELIB_VERSION}'; \
|
||||||
|
fi"
|
||||||
|
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
RUN pip install --no-cache-dir --no-binary :all: -e . && \
|
||||||
|
pip install --no-cache-dir --no-binary :all: tzlocal
|
||||||
|
|
||||||
|
CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"]
|
||||||
|
|
||||||
|
# Build arugments
|
||||||
|
ARG ADDON_ARCH
|
||||||
|
ARG ADDON_VERSION
|
||||||
|
|
||||||
|
# Labels
|
||||||
|
LABEL \
|
||||||
|
io.hass.name="esphomeyaml" \
|
||||||
|
io.hass.description="esphomeyaml HassIO add-on for intelligently managing all your ESP8266/ESP32 devices." \
|
||||||
|
io.hass.arch="${ADDON_ARCH}" \
|
||||||
|
io.hass.type="addon" \
|
||||||
|
io.hass.version="${ADDON_VERSION}" \
|
||||||
|
io.hass.url="https://esphomelib.com/esphomeyaml/index.html" \
|
||||||
|
maintainer="Otto Winter <contact@otto-winter.com>"
|
@ -1,21 +0,0 @@
|
|||||||
# Dockerfile for i386 version of HassIO add-on
|
|
||||||
FROM i386/ubuntu:bionic
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
||||||
python \
|
|
||||||
python-pip \
|
|
||||||
python-setuptools \
|
|
||||||
python-pil \
|
|
||||||
git \
|
|
||||||
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/*rm -rf /var/lib/apt/lists/* /tmp/* && \
|
|
||||||
pip install --no-cache-dir --no-binary :all: platformio && \
|
|
||||||
platformio settings set enable_telemetry No
|
|
||||||
|
|
||||||
COPY docker/platformio.ini /pio/platformio.ini
|
|
||||||
RUN platformio run -d /pio; rm -rf /pio
|
|
||||||
|
|
||||||
COPY . .
|
|
||||||
RUN pip install --no-cache-dir --no-binary :all: -e . && \
|
|
||||||
pip install --no-cache-dir --no-binary :all: tzlocal
|
|
||||||
|
|
||||||
CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"]
|
|
@ -1,318 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Based on Home Assistant's docker builder
|
|
||||||
######################
|
|
||||||
# Hass.io Build-env
|
|
||||||
######################
|
|
||||||
set -e
|
|
||||||
|
|
||||||
echo -- "$@"
|
|
||||||
|
|
||||||
#### Variable ####
|
|
||||||
|
|
||||||
DOCKER_TIMEOUT=20
|
|
||||||
DOCKER_PID=-1
|
|
||||||
DOCKER_HUB=""
|
|
||||||
DOCKER_CACHE="true"
|
|
||||||
DOCKER_LOCAL="false"
|
|
||||||
TARGET=""
|
|
||||||
IMAGE=""
|
|
||||||
BUILD_LIST=()
|
|
||||||
BUILD_TASKS=()
|
|
||||||
|
|
||||||
#### Misc functions ####
|
|
||||||
|
|
||||||
function print_help() {
|
|
||||||
cat << EOF
|
|
||||||
Hass.io build-env for ecosystem:
|
|
||||||
docker run --rm homeassistant/{arch}-builder:latest [options]
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-h, --help
|
|
||||||
Display this help and exit.
|
|
||||||
|
|
||||||
Repository / Data
|
|
||||||
-t, --target <PATH_TO_BUILD>
|
|
||||||
Set local folder or path inside repository for build.
|
|
||||||
|
|
||||||
Version/Image handling
|
|
||||||
-i, --image <IMAGE_NAME>
|
|
||||||
Overwrite image name of build / support {arch}
|
|
||||||
|
|
||||||
Architecture
|
|
||||||
--armhf
|
|
||||||
Build for arm.
|
|
||||||
--amd64
|
|
||||||
Build for intel/amd 64bit.
|
|
||||||
--aarch64
|
|
||||||
Build for arm 64bit.
|
|
||||||
--i386
|
|
||||||
Build for intel/amd 32bit.
|
|
||||||
--all
|
|
||||||
Build all architecture.
|
|
||||||
|
|
||||||
Build handling
|
|
||||||
--no-cache
|
|
||||||
Disable cache for the build (from latest).
|
|
||||||
-d, --docker-hub <DOCKER_REPOSITORY>
|
|
||||||
Set or overwrite the docker repository.
|
|
||||||
|
|
||||||
Use the host docker socket if mapped into container:
|
|
||||||
/var/run/docker.sock
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
#### Docker functions ####
|
|
||||||
|
|
||||||
function start_docker() {
|
|
||||||
local starttime
|
|
||||||
local endtime
|
|
||||||
|
|
||||||
if [ -S "/var/run/docker.sock" ]; then
|
|
||||||
echo "[INFO] Use host docker setup with '/var/run/docker.sock'"
|
|
||||||
DOCKER_LOCAL="true"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "[INFO] Starting docker."
|
|
||||||
dockerd 2> /dev/null &
|
|
||||||
DOCKER_PID=$!
|
|
||||||
|
|
||||||
echo "[INFO] Waiting for docker to initialize..."
|
|
||||||
starttime="$(date +%s)"
|
|
||||||
endtime="$(date +%s)"
|
|
||||||
until docker info >/dev/null 2>&1; do
|
|
||||||
if [ $((endtime - starttime)) -le ${DOCKER_TIMEOUT} ]; then
|
|
||||||
sleep 1
|
|
||||||
endtime=$(date +%s)
|
|
||||||
else
|
|
||||||
echo "[ERROR] Timeout while waiting for docker to come up"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "[INFO] Docker was initialized"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function stop_docker() {
|
|
||||||
local starttime
|
|
||||||
local endtime
|
|
||||||
|
|
||||||
if [ "$DOCKER_LOCAL" == "true" ]; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "[INFO] Stopping in container docker..."
|
|
||||||
if [ "$DOCKER_PID" -gt 0 ] && kill -0 "$DOCKER_PID" 2> /dev/null; then
|
|
||||||
starttime="$(date +%s)"
|
|
||||||
endtime="$(date +%s)"
|
|
||||||
|
|
||||||
# Now wait for it to die
|
|
||||||
kill "$DOCKER_PID"
|
|
||||||
while kill -0 "$DOCKER_PID" 2> /dev/null; do
|
|
||||||
if [ $((endtime - starttime)) -le ${DOCKER_TIMEOUT} ]; then
|
|
||||||
sleep 1
|
|
||||||
endtime=$(date +%s)
|
|
||||||
else
|
|
||||||
echo "[ERROR] Timeout while waiting for container docker to die"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
echo "[WARN] Your host might have been left with unreleased resources"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function run_build() {
|
|
||||||
local build_dir=$1
|
|
||||||
local repository=$2
|
|
||||||
local image=$3
|
|
||||||
local version=$4
|
|
||||||
local build_arch=$5
|
|
||||||
local docker_cli=("${!6}")
|
|
||||||
|
|
||||||
local push_images=()
|
|
||||||
|
|
||||||
# Overwrites
|
|
||||||
if [ ! -z "$DOCKER_HUB" ]; then repository="$DOCKER_HUB"; fi
|
|
||||||
if [ ! -z "$IMAGE" ]; then image="$IMAGE"; fi
|
|
||||||
|
|
||||||
# Init Cache
|
|
||||||
if [ "$DOCKER_CACHE" == "true" ]; then
|
|
||||||
echo "[INFO] Init cache for $repository/$image:$version"
|
|
||||||
if docker pull "$repository/$image:latest" > /dev/null 2>&1; then
|
|
||||||
docker_cli+=("--cache-from" "$repository/$image:latest")
|
|
||||||
else
|
|
||||||
docker_cli+=("--no-cache")
|
|
||||||
echo "[WARN] No cache image found. Cache is disabled for build"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
docker_cli+=("--no-cache")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build image
|
|
||||||
echo "[INFO] Run build for $repository/$image:$version"
|
|
||||||
docker build --pull -t "$repository/$image:$version" \
|
|
||||||
--label "io.hass.version=$version" \
|
|
||||||
--label "io.hass.arch=$build_arch" \
|
|
||||||
-f "$TARGET/docker/Dockerfile.$build_arch" \
|
|
||||||
"${docker_cli[@]}" \
|
|
||||||
"$build_dir"
|
|
||||||
|
|
||||||
echo "[INFO] Finish build for $repository/$image:$version"
|
|
||||||
docker tag "$repository/$image:$version" "$repository/$image:dev"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#### HassIO functions ####
|
|
||||||
|
|
||||||
function build_addon() {
|
|
||||||
local build_arch=$1
|
|
||||||
|
|
||||||
local docker_cli=()
|
|
||||||
local image=""
|
|
||||||
local repository=""
|
|
||||||
local raw_image=""
|
|
||||||
local name=""
|
|
||||||
local description=""
|
|
||||||
local url=""
|
|
||||||
local args=""
|
|
||||||
|
|
||||||
# Read addon config.json
|
|
||||||
name="$(jq --raw-output '.name // empty' "$TARGET/esphomeyaml/config.json" | sed "s/'//g")"
|
|
||||||
description="$(jq --raw-output '.description // empty' "$TARGET/esphomeyaml/config.json" | sed "s/'//g")"
|
|
||||||
url="$(jq --raw-output '.url // empty' "$TARGET/esphomeyaml/config.json")"
|
|
||||||
version="$(jq --raw-output '.version' "$TARGET/esphomeyaml/config.json")"
|
|
||||||
raw_image="$(jq --raw-output '.image // empty' "$TARGET/esphomeyaml/config.json")"
|
|
||||||
|
|
||||||
# Read data from image
|
|
||||||
if [ ! -z "$raw_image" ]; then
|
|
||||||
repository="$(echo "$raw_image" | cut -f 1 -d '/')"
|
|
||||||
image="$(echo "$raw_image" | cut -f 2 -d '/')"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set additional labels
|
|
||||||
docker_cli+=("--label" "io.hass.name=$name")
|
|
||||||
docker_cli+=("--label" "io.hass.description=$description")
|
|
||||||
docker_cli+=("--label" "io.hass.type=addon")
|
|
||||||
|
|
||||||
if [ ! -z "$url" ]; then
|
|
||||||
docker_cli+=("--label" "io.hass.url=$url")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Start build
|
|
||||||
run_build "$TARGET" "$repository" "$image" "$version" \
|
|
||||||
"$build_arch" docker_cli[@]
|
|
||||||
}
|
|
||||||
|
|
||||||
#### initialized cross-build ####
|
|
||||||
|
|
||||||
function init_crosscompile() {
|
|
||||||
echo "[INFO] Setup crosscompiling feature"
|
|
||||||
(
|
|
||||||
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
|
|
||||||
update-binfmts --enable qemu-arm
|
|
||||||
update-binfmts --enable qemu-aarch64
|
|
||||||
) > /dev/null 2>&1 || echo "[WARN] Can't enable crosscompiling feature"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function clean_crosscompile() {
|
|
||||||
echo "[INFO] Clean crosscompiling feature"
|
|
||||||
if [ -f /proc/sys/fs/binfmt_misc ]; then
|
|
||||||
umount /proc/sys/fs/binfmt_misc || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
(
|
|
||||||
update-binfmts --disable qemu-arm
|
|
||||||
update-binfmts --disable qemu-aarch64
|
|
||||||
) > /dev/null 2>&1 || echo "[WARN] No crosscompiling feature found for cleanup"
|
|
||||||
}
|
|
||||||
|
|
||||||
#### Error handling ####
|
|
||||||
|
|
||||||
function error_handling() {
|
|
||||||
stop_docker
|
|
||||||
clean_crosscompile
|
|
||||||
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
trap 'error_handling' SIGINT SIGTERM
|
|
||||||
|
|
||||||
#### Parse arguments ####
|
|
||||||
|
|
||||||
while [[ $# -gt 0 ]]; do
|
|
||||||
key=$1
|
|
||||||
case ${key} in
|
|
||||||
-h|--help)
|
|
||||||
print_help
|
|
||||||
;;
|
|
||||||
-t|--target)
|
|
||||||
TARGET=$2
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-i|--image)
|
|
||||||
IMAGE=$2
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--no-cache)
|
|
||||||
DOCKER_CACHE="false"
|
|
||||||
;;
|
|
||||||
-d|--docker-hub)
|
|
||||||
DOCKER_HUB=$2
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--armhf)
|
|
||||||
BUILD_LIST+=("armhf")
|
|
||||||
;;
|
|
||||||
--amd64)
|
|
||||||
BUILD_LIST+=("amd64")
|
|
||||||
;;
|
|
||||||
--i386)
|
|
||||||
BUILD_LIST+=("i386")
|
|
||||||
;;
|
|
||||||
--aarch64)
|
|
||||||
BUILD_LIST+=("aarch64")
|
|
||||||
;;
|
|
||||||
--all)
|
|
||||||
BUILD_LIST=("armhf" "amd64" "i386" "aarch64")
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "[WARN] $0 : Argument '$1' unknown will be Ignoring"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
# Check if an architecture is available
|
|
||||||
if [ "${#BUILD_LIST[@]}" -eq 0 ]; then
|
|
||||||
echo "[ERROR] You need select an architecture for build!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
#### Main ####
|
|
||||||
|
|
||||||
mkdir -p /data
|
|
||||||
|
|
||||||
# Setup docker env
|
|
||||||
init_crosscompile
|
|
||||||
start_docker
|
|
||||||
|
|
||||||
# Select arch build
|
|
||||||
for arch in "${BUILD_LIST[@]}"; do
|
|
||||||
(build_addon "$arch") &
|
|
||||||
BUILD_TASKS+=($!)
|
|
||||||
done
|
|
||||||
|
|
||||||
# Wait until all build jobs are done
|
|
||||||
wait "${BUILD_TASKS[@]}"
|
|
||||||
|
|
||||||
# Cleanup docker env
|
|
||||||
clean_crosscompile
|
|
||||||
stop_docker
|
|
||||||
|
|
||||||
exit 0
|
|
@ -1,7 +0,0 @@
|
|||||||
; This file allows the docker build file to install the required platformio
|
|
||||||
; platforms
|
|
||||||
|
|
||||||
[env:espressif8266]
|
|
||||||
platform = espressif8266
|
|
||||||
board = nodemcuv2
|
|
||||||
framework = arduino
|
|
@ -3,7 +3,7 @@
|
|||||||
"version": "1.9.0b2",
|
"version": "1.9.0b2",
|
||||||
"slug": "esphomeyaml-beta",
|
"slug": "esphomeyaml-beta",
|
||||||
"description": "Beta version of esphomeyaml HassIO add-on.",
|
"description": "Beta version of esphomeyaml HassIO add-on.",
|
||||||
"url": "https://esphomelib.com/esphomeyaml/index.html",
|
"url": "https://beta.esphomelib.com/esphomeyaml/index.html",
|
||||||
"startup": "application",
|
"startup": "application",
|
||||||
"webui": "http://[HOST]:[PORT:6052]",
|
"webui": "http://[HOST]:[PORT:6052]",
|
||||||
"boot": "auto",
|
"boot": "auto",
|
||||||
|
@ -1,59 +0,0 @@
|
|||||||
# Dockerfile for HassIO add-on
|
|
||||||
ARG BUILD_FROM=ubuntu:bionic
|
|
||||||
FROM ${BUILD_FROM}
|
|
||||||
|
|
||||||
# Re-declare BUILD_FROM to fix weird docker issue
|
|
||||||
ARG BUILD_FROM
|
|
||||||
|
|
||||||
# On amd64 and alike, using ubuntu as the base is better as building
|
|
||||||
# for the ESP32 only works with glibc (and ubuntu). However, on armhf
|
|
||||||
# the build toolchain frequently procudes segfaults under ubuntu.
|
|
||||||
# -> Use ubuntu for most architectures, except alpine for armhf
|
|
||||||
#
|
|
||||||
# * python and related required because this is a python project
|
|
||||||
# * git required for platformio library dependencies downloads
|
|
||||||
# * libc6-compat and openssh required on alpine for weird reasons
|
|
||||||
# * disable platformio telemetry on install
|
|
||||||
RUN /bin/bash -c "if [[ '$BUILD_FROM' = *\"ubuntu\"* ]]; then \
|
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
|
||||||
python python-pip python-setuptools python-pil git && \
|
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/*; \
|
|
||||||
else \
|
|
||||||
apk add --no-cache \
|
|
||||||
python2 \
|
|
||||||
python2-dev \
|
|
||||||
py2-pip \
|
|
||||||
git \
|
|
||||||
gcc \
|
|
||||||
openssh \
|
|
||||||
libc6-compat \
|
|
||||||
jpeg-dev \
|
|
||||||
zlib-dev \
|
|
||||||
freetype-dev \
|
|
||||||
lcms2-dev \
|
|
||||||
openjpeg-dev \
|
|
||||||
tiff-dev \
|
|
||||||
libc-dev \
|
|
||||||
linux-headers; \
|
|
||||||
fi" && \
|
|
||||||
pip install --no-cache-dir platformio && \
|
|
||||||
platformio settings set enable_telemetry No
|
|
||||||
|
|
||||||
|
|
||||||
# Create fake project to make platformio install all depdencies.
|
|
||||||
# * Ignore build errors from platformio - empty project
|
|
||||||
# * On alpine, only install ESP8266 toolchain
|
|
||||||
COPY platformio.ini /pio/platformio.ini
|
|
||||||
RUN /bin/bash -c "if [[ '$BUILD_FROM' = *\"ubuntu\"* ]]; then \
|
|
||||||
platformio run -e espressif32 -e espressif8266 -d /pio; exit 0; \
|
|
||||||
else \
|
|
||||||
echo \"\$(head -8 /pio/platformio.ini)\" >/pio/platformio.ini; \
|
|
||||||
platformio run -e espressif8266 -d /pio; exit 0; \
|
|
||||||
fi"
|
|
||||||
|
|
||||||
# Install latest esphomeyaml from git
|
|
||||||
RUN pip install --no-cache-dir \
|
|
||||||
git+git://github.com/OttoWinter/esphomeyaml.git && \
|
|
||||||
pip install --no-cache-dir pillow tzlocal
|
|
||||||
|
|
||||||
CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"]
|
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"squash": false,
|
"squash": false,
|
||||||
"build_from": {
|
"build_from": {
|
||||||
"aarch64": "arm64v8/ubuntu:bionic",
|
"aarch64": "homeassistant/aarch64-base-ubuntu:latest",
|
||||||
"amd64": "ubuntu:bionic",
|
"amd64": "homeassistant/amd64-base-ubuntu:latest",
|
||||||
"armhf": "homeassistant/armhf-base:latest",
|
"armhf": "homeassistant/armhf-base-ubuntu:latest",
|
||||||
"i386": "i386/ubuntu:bionic"
|
"i386": "homeassistant/i386-base-ubuntu:latest"
|
||||||
},
|
},
|
||||||
"args": {}
|
"args": {}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user