From aaf43aa2471a6b6063f80f01abdb535889d94067 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Wed, 25 Mar 2026 13:23:05 +0100 Subject: [PATCH] feat: add pre-baked CI build images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - cameleer-build:1 — Maven 3.9 + Java 17 + Node.js 22 + curl/jq/procps/bc - cameleer-docker-builder:1 — Docker 27 + git/curl/jq Eliminates per-build tool installation across cameleer3 and cameleer3-server. Co-Authored-By: Claude Opus 4.6 (1M context) --- .gitattributes | 1 + .gitea/workflows/ci.yml | 31 +++++++++++++++++++++++++++++++ build/Dockerfile | 11 +++++++++++ docker-builder/Dockerfile | 3 +++ 4 files changed, 46 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitea/workflows/ci.yml create mode 100644 build/Dockerfile create mode 100644 docker-builder/Dockerfile diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..bfd66de --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,31 @@ +name: Build Images + +on: + push: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + container: + image: docker:27 + steps: + - run: apk add --no-cache git + + - run: git clone --depth=1 https://cameleer:${REGISTRY_TOKEN}@gitea.siegeln.net/${GITHUB_REPOSITORY}.git . + env: + REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + + - run: echo "$REGISTRY_TOKEN" | docker login gitea.siegeln.net -u cameleer --password-stdin + env: + REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + + - name: Build and push build image + run: | + docker build -t gitea.siegeln.net/cameleer/cameleer-build:1 build/ + docker push gitea.siegeln.net/cameleer/cameleer-build:1 + + - name: Build and push docker-builder image + run: | + docker build -t gitea.siegeln.net/cameleer/cameleer-docker-builder:1 docker-builder/ + docker push gitea.siegeln.net/cameleer/cameleer-docker-builder:1 diff --git a/build/Dockerfile b/build/Dockerfile new file mode 100644 index 0000000..d18ab6f --- /dev/null +++ b/build/Dockerfile @@ -0,0 +1,11 @@ +FROM maven:3.9-eclipse-temurin-17 + +# Node.js 22 LTS via NodeSource +RUN apt-get update && apt-get install -y ca-certificates curl gnupg \ + && mkdir -p /etc/apt/keyrings \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \ + | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" \ + > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update && apt-get install -y nodejs procps bc jq \ + && rm -rf /var/lib/apt/lists/* diff --git a/docker-builder/Dockerfile b/docker-builder/Dockerfile new file mode 100644 index 0000000..c6fbd5a --- /dev/null +++ b/docker-builder/Dockerfile @@ -0,0 +1,3 @@ +FROM docker:27 + +RUN apk add --no-cache git curl jq