From c9757da3aa074f765aaa3bef14ab81b043095cf6 Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Fri, 16 Aug 2024 12:47:06 +0000 Subject: [PATCH] Add zmk builder image (#12) Reviewed-on: https://git.kjan.de/actions/runner-images/pulls/12 Co-authored-by: Jan Klattenhoff Co-committed-by: Jan Klattenhoff --- .gitea/workflows/zmk-builder.yaml | 64 +++++++++++++++++++++++++++ images/actions/zmk-builder/Dockerfile | 4 ++ 2 files changed, 68 insertions(+) create mode 100644 .gitea/workflows/zmk-builder.yaml create mode 100644 images/actions/zmk-builder/Dockerfile diff --git a/.gitea/workflows/zmk-builder.yaml b/.gitea/workflows/zmk-builder.yaml new file mode 100644 index 0000000..2bd8238 --- /dev/null +++ b/.gitea/workflows/zmk-builder.yaml @@ -0,0 +1,64 @@ +name: ZMK builder +on: + schedule: + - cron: "@weekly" + push: + branches: [main] + paths: + - .gitea/workflows/zmk-builder.yaml + - images/actions/zmk-builder/** + pull_request: + +jobs: + build: + name: Build and push image + runs-on: ubuntu-latest + container: catthehacker/ubuntu:act-latest + + steps: + - name: Checkout + uses: https://git.kjan.de/actions/checkout@v4 + + - name: Set up Docker Buildx + uses: https://git.kjan.de/actions/setup-buildx-action@v3 + + - name: Login to local Docker Registry + uses: https://git.kjan.de/actions/login-action@v3 + with: + registry: git.kjan.de + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Login to Docker.io Registry + uses: https://git.kjan.de/actions/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Cache Docker layers + uses: actions/cache@v4 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-zmk-builder-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-zmk-builder- + + - name: Build and push + uses: https://git.kjan.de/actions/build-push-action@v6 + with: + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + context: ./images/actions/zmk-builder + push: ${{ github.ref == 'refs/heads/main' }} + tags: | + git.kjan.de/actions/zmk-builder:latest + git.kjan.de/actions/zmk-builder:${{ gitea.sha }} + + - # Temp fix + # https://github.com/docker/build-push-action/issues/252 + # https://github.com/moby/buildkit/issues/1896 + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + diff --git a/images/actions/zmk-builder/Dockerfile b/images/actions/zmk-builder/Dockerfile new file mode 100644 index 0000000..586fef8 --- /dev/null +++ b/images/actions/zmk-builder/Dockerfile @@ -0,0 +1,4 @@ +FROM zmkfirmware/zmk-build-arm:stable + +RUN apt-get update +RUN apt-get install --yes --no-install-recommends nodejs zstd zip