From 98ab851b6085ba2f0dcc474856194a38d56bda41 Mon Sep 17 00:00:00 2001 From: Julia McGhee Date: Sat, 21 Mar 2026 16:39:34 +0000 Subject: [PATCH] Use custom runner image with jq, kustomize, docker pre-installed Build a runner-image based on node:20-bookworm with all CI tools baked in, avoiding apt-get install in every workflow run. Runner labels now point to gitea.coreworlds.io/lazorgurl/runner-image. --- .gitea/workflows/ci.yaml | 2 -- .gitea/workflows/deploy-preview.yaml | 5 ----- .gitea/workflows/deploy-production.yaml | 5 ----- .../platform/gitea-runner/Dockerfile.runner-image | 10 ++++++++++ infra/kubernetes/platform/gitea-runner/deployment.yaml | 2 +- 5 files changed, 11 insertions(+), 13 deletions(-) create mode 100644 infra/kubernetes/platform/gitea-runner/Dockerfile.runner-image diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index ce9f1e2..f2d8dba 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -20,8 +20,6 @@ jobs: with: fetch-depth: 0 - - run: apt-get update && apt-get install -y jq - - name: Detect changed apps id: filter run: | diff --git a/.gitea/workflows/deploy-preview.yaml b/.gitea/workflows/deploy-preview.yaml index ab17a3c..9562c34 100644 --- a/.gitea/workflows/deploy-preview.yaml +++ b/.gitea/workflows/deploy-preview.yaml @@ -10,11 +10,6 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install tools - run: | - apt-get update && apt-get install -y jq curl - curl -sL https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.6.0/kustomize_v5.6.0_linux_amd64.tar.gz | tar xz -C /usr/local/bin - - run: corepack enable && corepack prepare pnpm@latest --activate - run: pnpm install --frozen-lockfile diff --git a/.gitea/workflows/deploy-production.yaml b/.gitea/workflows/deploy-production.yaml index 299923d..564c019 100644 --- a/.gitea/workflows/deploy-production.yaml +++ b/.gitea/workflows/deploy-production.yaml @@ -12,11 +12,6 @@ jobs: with: fetch-depth: 2 - - name: Install tools - run: | - apt-get update && apt-get install -y jq curl - curl -sL https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.6.0/kustomize_v5.6.0_linux_amd64.tar.gz | tar xz -C /usr/local/bin - - run: corepack enable && corepack prepare pnpm@latest --activate - run: pnpm install --frozen-lockfile diff --git a/infra/kubernetes/platform/gitea-runner/Dockerfile.runner-image b/infra/kubernetes/platform/gitea-runner/Dockerfile.runner-image new file mode 100644 index 0000000..f32f0e1 --- /dev/null +++ b/infra/kubernetes/platform/gitea-runner/Dockerfile.runner-image @@ -0,0 +1,10 @@ +FROM node:20-bookworm + +RUN apt-get update && apt-get install -y --no-install-recommends \ + jq \ + curl \ + git \ + docker.io \ + && curl -sL https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.6.0/kustomize_v5.6.0_linux_amd64.tar.gz \ + | tar xz -C /usr/local/bin \ + && apt-get clean && rm -rf /var/lib/apt/lists/* diff --git a/infra/kubernetes/platform/gitea-runner/deployment.yaml b/infra/kubernetes/platform/gitea-runner/deployment.yaml index 71aa618..5e55889 100644 --- a/infra/kubernetes/platform/gitea-runner/deployment.yaml +++ b/infra/kubernetes/platform/gitea-runner/deployment.yaml @@ -27,7 +27,7 @@ spec: name: gitea-runner-token key: token - name: GITEA_RUNNER_LABELS - value: "ubuntu-latest:docker://node:20-bookworm,linux/amd64:docker://node:20-bookworm,cluster:docker://node:20-bookworm" + value: "ubuntu-latest:docker://gitea.coreworlds.io/lazorgurl/runner-image:latest,linux/amd64:docker://gitea.coreworlds.io/lazorgurl/runner-image:latest,cluster:docker://gitea.coreworlds.io/lazorgurl/runner-image:latest" - name: DOCKER_HOST value: tcp://localhost:2375 volumeMounts: