Fix release deploy: use a Node-based image so checkout's JS action runs
docker:27-cli is Alpine with no Node.js, but actions/checkout@v4 is a JS action that needs a Node runtime in the job container — it failed at Checkout with exit 127. node:22-bookworm-slim already has Node (same reason the test job's node:22-alpine works); Docker CLI and openssh-client are added via apt instead. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -38,19 +38,28 @@ jobs:
|
||||
# The anouma-runner runs as a Docker container itself (gitea/runner:3),
|
||||
# with the host's docker.sock bind-mounted in but no `docker` CLI binary
|
||||
# of its own — a job with no `container:` here runs directly inside that
|
||||
# minimal runner image and gets "docker: command not found". Using the
|
||||
# official Docker CLI image instead gives this job the `docker` binary,
|
||||
# and the runner auto-mounts the same host docker.sock into it (sibling
|
||||
# containers — see container.docker_host in the runner's config.yaml),
|
||||
# so `docker build`/`push` operate on the host's real Docker daemon.
|
||||
# minimal runner image and gets "docker: command not found".
|
||||
#
|
||||
# A plain `docker:27-cli` image (Alpine, no Node.js) doesn't work either:
|
||||
# actions/checkout@v4 is a JS action and needs a Node runtime in the job
|
||||
# container, which that image doesn't have — it failed at Checkout with
|
||||
# exit 127. Using a Node image as the base guarantees Node is already
|
||||
# there (same reason the `test` job's node:22-alpine works), and the
|
||||
# Docker CLI + ssh client are added via apt. The runner auto-mounts the
|
||||
# same host docker.sock into this container (sibling containers — see
|
||||
# container.docker_host in the runner's config.yaml), so `docker
|
||||
# build`/`push` operate on the host's real Docker daemon.
|
||||
container:
|
||||
image: docker:27-cli
|
||||
image: node:22-bookworm-slim
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install ssh client
|
||||
run: apk add --no-cache openssh-client
|
||||
- name: Install Docker CLI and ssh client
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends docker.io openssh-client
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
- name: Determine image tags
|
||||
id: image
|
||||
|
||||
Reference in New Issue
Block a user