From fda701ca45d460499a15f8d74134aac17818503b Mon Sep 17 00:00:00 2001 From: rock Date: Sun, 6 Sep 2026 06:52:21 -0700 Subject: [PATCH] ci: use base runner + git clone (no Node.js dependency) Problem: actions/checkout@v4 requires Node.js, but base forgejo/runner:6 (Alpine) doesn't have it. We need to test our Dockerfiles on the bare base image. Solution: - runs-on: golang (base Alpine runner with dind docker) - Replace actions/checkout@v4 with git clone (no Node.js needed) - Clone to /workspace, run all steps there - Only push on push events (skip on PR to avoid registry pollution) This validates that our Dockerfile fixes work correctly on base image. --- .gitea/workflows/build-runner-images.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/build-runner-images.yml b/.gitea/workflows/build-runner-images.yml index dafdc1f..04d499e 100644 --- a/.gitea/workflows/build-runner-images.yml +++ b/.gitea/workflows/build-runner-images.yml @@ -17,22 +17,27 @@ on: jobs: build-runners: - runs-on: node + runs-on: golang env: REGISTRY: forgejo.riotpiao.com IMAGE_BASE: forgejo.riotpiao.com/rock steps: - - name: Checkout code - uses: actions/checkout@v4 + - name: Clone repository (base image, no Node.js required) + run: | + git clone --depth 1 https://forgejo.riotpiao.com/rock/homelab.git /workspace + cd /workspace - - name: Get short SHA + - name: Get commit SHA id: sha run: | + cd /workspace SHORT_SHA=$(git rev-parse --short HEAD) echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT + echo "Got SHA: ${SHORT_SHA}" - name: Build all runner images (test on PR, push on main) run: | + cd /workspace set -e for RUNNER in golang rust node; do echo "📦 Building ${RUNNER}-runner..." @@ -54,7 +59,6 @@ jobs: docker push "${IMAGE_BASE}/forgejo-runner-${RUNNER}:latest" echo "✅ Pushed ${RUNNER}-runner" done - echo "✅ All runner images pushed to registry" env: REGISTRY_USER: ${{ secrets.FORGEJO_REGISTRY_USER }} REGISTRY_TOKEN: ${{ secrets.FORGEJO_REGISTRY_TOKEN }}