mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Add Docker CI workflow that runs when docker files change
This commit is contained in:
		
							
								
								
									
										54
									
								
								.github/workflows/ci-docker.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								.github/workflows/ci-docker.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| 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}" \ | ||||
|             . | ||||
		Reference in New Issue
	
	Block a user