ci: pin gitea runner image
Build Push and Deploy / docker-image (push) Has been cancelled
Build Push and Deploy / deploy-fallback-log (push) Has been cancelled

Use the full ubuntu runner label so Gitea Actions resolves gitea/runner-images:ubuntu-22.04 instead of falling back to ubuntu:latest during test runs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-04-24 15:43:36 +08:00
parent 3afe885cc0
commit c4269f40e3
2 changed files with 4 additions and 2 deletions
+2 -2
View File
@@ -7,7 +7,7 @@ on:
jobs:
docker-image:
runs-on: ubuntu
runs-on: "ubuntu:docker://gitea/runner-images:ubuntu-22.04"
permissions:
contents: read
defaults:
@@ -121,7 +121,7 @@ jobs:
-d "{\"image\":\"${IMAGE_REF}\",\"tag\":\"${IMAGE_TAG}\",\"repo\":\"${REPOSITORY_PATH}\"}"
deploy-fallback-log:
runs-on: ubuntu
runs-on: "ubuntu:docker://gitea/runner-images:ubuntu-22.04"
needs: docker-image
if: failure()
steps:
+2
View File
@@ -6,5 +6,7 @@
- **Why this matters for act_runner:** self-hosted Gitea runners can reuse working directories or start from repositories that already contain Git metadata, so checkout logic must be idempotent.
- **Applied fix:** changed `.gitea/workflows/package.yml` to initialize Git only when needed, use `git remote set-url origin ...` when `origin` already exists, and force-clean the workspace after checking out `FETCH_HEAD`.
- **Safety improvement for remote validation:** tags ending with `-test` now run the build verification path only. They skip registry login, image push, `latest` updates, and the deploy webhook so act_runner can be tested without deployment side effects.
- **Root cause found on the real act_runner:** although the runner was registered with `ubuntu:docker://gitea/runner-images:ubuntu-22.04`, the workflow used `runs-on: ubuntu`, and the job log showed `Start image=ubuntu:latest`. That default image does not include the expected toolset, which explains the remote `git: not found` failure.
- **Applied fix for label selection:** changed both jobs to `runs-on: "ubuntu:docker://gitea/runner-images:ubuntu-22.04"` so Gitea resolves the exact runner image instead of falling back to `ubuntu:latest`.
- **Current local result:** `npm run lint`, `npm run test -- --runInBand`, `npm run build`, `docker build ...`, and `npm run build` inside `gitea/runner-images:ubuntu-22.04` all completed successfully after the workflow adjustment.
- **Non-blocking note:** local Jest run reported a haste-map naming collision between `package.json` and `.next/standalone/package.json`; tests still passed, and this does not affect the current image-build workflow.