Fix release deploy: give build-and-deploy a container with Docker CLI
CI / test (push) Successful in 3m5s
Release / test (push) Successful in 3m0s
Release / build-and-deploy (push) Failing after 10s

The runner (gitea-anouma-runner) runs as a Docker container itself
(gitea/runner:3) with the host's docker.sock mounted in, but no
`docker` CLI binary. A job with no `container:` runs directly inside
that minimal runner image, so `docker login/build/push` failed with
"docker: command not found". Using docker:27-cli gives the job the
CLI; the runner mounts the same host socket into it automatically
(sibling containers), and openssh-client is installed for the deploy
step's ssh call.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-26 00:33:10 +02:00
co-authored by Claude Sonnet 5
parent 27aa625c0e
commit 517f640666
+13 -2
View File
@@ -35,12 +35,23 @@ jobs:
build-and-deploy: build-and-deploy:
needs: test needs: test
runs-on: ubuntu-latest runs-on: ubuntu-latest
# No container here — this job needs the Docker CLI + an SSH client # The anouma-runner runs as a Docker container itself (gitea/runner:3),
# directly on the runner host, not inside a Node container. # 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.
container:
image: docker:27-cli
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Install ssh client
run: apk add --no-cache openssh-client
- name: Determine image tags - name: Determine image tags
id: image id: image
# Gitea Actions' runner is protocol-compatible with GitHub Actions, # Gitea Actions' runner is protocol-compatible with GitHub Actions,