mirror of
https://github.com/esphome/aioesphomeapi.git
synced 2024-11-21 11:55:11 +01:00
Build docker image to generate protoc (#72)
This commit is contained in:
parent
2ec375af36
commit
7ce73f0dc4
96
.dockerignore
Normal file
96
.dockerignore
Normal file
@ -0,0 +1,96 @@
|
||||
# Hide sublime text stuff
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
|
||||
# Hide some OS X stuff
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
Icon
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# IntelliJ IDEA
|
||||
.idea
|
||||
*.iml
|
||||
|
||||
# pytest
|
||||
.pytest_cache
|
||||
.cache
|
||||
|
||||
# GITHUB Proposed Python stuff:
|
||||
*.py[cod]
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Packages
|
||||
*.egg
|
||||
*.egg-info
|
||||
dist
|
||||
build
|
||||
eggs
|
||||
.eggs
|
||||
parts
|
||||
bin
|
||||
var
|
||||
sdist
|
||||
develop-eggs
|
||||
.installed.cfg
|
||||
lib
|
||||
lib64
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
pip-log.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
.coverage
|
||||
.tox
|
||||
nosetests.xml
|
||||
htmlcov/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
|
||||
# Mr Developer
|
||||
.mr.developer.cfg
|
||||
.project
|
||||
.pydevproject
|
||||
|
||||
.python-version
|
||||
|
||||
# emacs auto backups
|
||||
*~
|
||||
*#
|
||||
*.orig
|
||||
|
||||
# venv stuff
|
||||
pyvenv.cfg
|
||||
pip-selfcheck.json
|
||||
venv
|
||||
.venv
|
||||
Pipfile*
|
||||
share/*
|
||||
|
||||
# vimmy stuff
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
ctags.tmp
|
||||
|
||||
# Visual Studio Code
|
||||
.vscode
|
||||
|
||||
# Built docs
|
||||
docs/build
|
||||
|
||||
# Windows Explorer
|
||||
desktop.ini
|
||||
/.vs/*
|
||||
|
||||
# mypy
|
||||
/.mypy_cache/*
|
||||
|
||||
.git*
|
4
.github/dependabot.yml
vendored
4
.github/dependabot.yml
vendored
@ -4,3 +4,7 @@ updates:
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
|
49
.github/workflows/docker.yml
vendored
Normal file
49
.github/workflows/docker.yml
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
name: Build docker image on changes
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- Dockerfile
|
||||
- requirements_test.txt
|
||||
|
||||
|
||||
jobs:
|
||||
build-image:
|
||||
runs-on: ubuntu-latest
|
||||
name: Build and push Docker image
|
||||
steps:
|
||||
-
|
||||
name: Checkout source code
|
||||
uses: actions/checkout@v2.3.4
|
||||
-
|
||||
name: Log in to docker hub
|
||||
uses: docker/login-action@v1.10.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
-
|
||||
name: Log in to the GitHub container registry
|
||||
uses: docker/login-action@v1.10.0
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1.2.0
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1.5.1
|
||||
-
|
||||
name: Build and Push
|
||||
uses: docker/build-push-action@v2.6.1
|
||||
with:
|
||||
context: .
|
||||
tags: |
|
||||
ghcr.io/esphome/aioesphomeapi-proto-builder:latest
|
||||
esphome/aioesphomeapi-proto-builder:latest
|
||||
push: true
|
||||
pull: true
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
21
Dockerfile
Normal file
21
Dockerfile
Normal file
@ -0,0 +1,21 @@
|
||||
FROM python:3.9
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y protobuf-compiler
|
||||
|
||||
WORKDIR /aioesphomeapi
|
||||
|
||||
COPY requirements_test.txt ./
|
||||
|
||||
RUN pip3 install -r requirements_test.txt
|
||||
|
||||
CMD ["script/gen-protoc"]
|
||||
|
||||
LABEL \
|
||||
org.opencontainers.image.title="aioesphomeapi protobuf generator" \
|
||||
org.opencontainers.image.description="An image to help with ESPHomes aioesphomeapi protobuf generation" \
|
||||
org.opencontainers.image.vendor="ESPHome" \
|
||||
org.opencontainers.image.licenses="MIT" \
|
||||
org.opencontainers.image.url="https://esphome.io" \
|
||||
org.opencontainers.image.source="https://github.com/esphome/aioesphomeapi" \
|
||||
org.opencontainers.image.documentation="https://github.com/esphome/aioesphomeapi/blob/main/README.md"
|
Loading…
Reference in New Issue
Block a user