From 542303eba8b88b5a20929ef84b66b039f3d84c98 Mon Sep 17 00:00:00 2001 From: sqozz Date: Wed, 5 Jun 2024 14:50:37 +0200 Subject: [PATCH] Initial container definition --- .forgejo/workflows/build.yaml | 22 ++++++++++++++++++++++ Dockerfile | 6 ++++++ 2 files changed, 28 insertions(+) create mode 100644 .forgejo/workflows/build.yaml create mode 100644 Dockerfile diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml new file mode 100644 index 0000000..3e4d6b5 --- /dev/null +++ b/.forgejo/workflows/build.yaml @@ -0,0 +1,22 @@ +on: + push: + schedule: + - cron: '0 0 * * *' +jobs: + build: + runs-on: gitea-container-builder + steps: + - run: buildah login --username ${{ secrets.username }} --password ${{ secrets.password }} ${GITHUB_SERVER_URL} + name: "Log into registry" + - run: wget ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/raw/branch/${GITHUB_REF_NAME}/Dockerfile + name: "Fetch Dockerfile" + - run: buildah build --isolation=chroot | tee build_log + name: "Build container" + - run: echo "CONTAINER_ID=$(tail -n 1 build_log) >> $GITHUB_OUTPUT" + id: get-container-id + name: "Get container ID" + - run: echo "WORK_CONTAINER_ID=$(buildah from ${{ steps.get-container-id.outputs.CONTAINER_ID }}" >> $GITHUB_OUTPUT + name: "Fetch freshly build container" + id: buildah-from + - run: buildah run --isolation=chroot ${{ steps.buildah-from.outputs.WORK_CONTAINER_ID }} esphome version + - run: buildah push ${{ steps.get-container-id.outputs.CONTAINER_ID }} ${GITHUB_SERVER_URL/https:\/\//}/${GITHUB_REPOSITORY,,}:latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0c1dd61 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +# hadolint ignore=DL3006 +FROM alpine:latest +RUN apk add curl python3 py3-pip +RUN rm -f /usr/lib/*/EXTERNALLY-MANAGED +RUN pip install esphome +RUN pip install -r <(curl -s https://raw.githubusercontent.com/esphome/esphome/main/requirements_optional.txt)