mirror of
https://github.com/esphome/esphome.git
synced 2024-11-30 02:34:12 +01:00
55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
|
name: CI for docker images
|
||
|
|
||
|
# Only run when docker paths change
|
||
|
on:
|
||
|
push:
|
||
|
branches: [dev, beta, master]
|
||
|
paths:
|
||
|
- 'docker/**'
|
||
|
- '.github/workflows/**'
|
||
|
|
||
|
pull_request:
|
||
|
paths:
|
||
|
- 'docker/**'
|
||
|
- '.github/workflows/**'
|
||
|
|
||
|
jobs:
|
||
|
check-docker:
|
||
|
name: Build docker containers
|
||
|
runs-on: ubuntu-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
arch: [amd64, armv7, aarch64]
|
||
|
build_type: ["hassio", "docker"]
|
||
|
steps:
|
||
|
- uses: actions/checkout@v2
|
||
|
- name: Set up env variables
|
||
|
run: |
|
||
|
base_version="2.3.4"
|
||
|
|
||
|
if [[ "${{ matrix.build_type }}" == "hassio" ]]; then
|
||
|
build_from="esphome/esphome-hassio-base-${{ matrix.arch }}:${base_version}"
|
||
|
build_to="esphome/esphome-hassio-${{ matrix.arch }}"
|
||
|
dockerfile="docker/Dockerfile.hassio"
|
||
|
else
|
||
|
build_from="esphome/esphome-base-${{ matrix.arch }}:${base_version}"
|
||
|
build_to="esphome/esphome-${{ matrix.arch }}"
|
||
|
dockerfile="docker/Dockerfile"
|
||
|
fi
|
||
|
|
||
|
echo "::set-env name=BUILD_FROM::${build_from}"
|
||
|
echo "::set-env name=BUILD_TO::${build_to}"
|
||
|
echo "::set-env name=DOCKERFILE::${dockerfile}"
|
||
|
- name: Pull for cache
|
||
|
run: |
|
||
|
docker pull "${BUILD_TO}:dev" || true
|
||
|
- name: Register QEMU binfmt
|
||
|
run: docker run --rm --privileged multiarch/qemu-user-static:5.0.0-2 --reset -p yes
|
||
|
- run: |
|
||
|
docker build \
|
||
|
--build-arg "BUILD_FROM=${BUILD_FROM}" \
|
||
|
--build-arg "BUILD_VERSION=ci" \
|
||
|
--cache-from "${BUILD_TO}:dev" \
|
||
|
--file "${DOCKERFILE}" \
|
||
|
.
|