CI: install the Docker CLI, allow a registry host override #5

Merged
branderson merged 1 commits from ci-docker-cli into main 2026-10-13 23:24:18 -07:00
Collaborator

Summary generated by LLM agent

The image builds still failed after #4. This follows the setup that works in another repo:

  • Docker CLI. The dejima-privileged runner mounts the host's Docker socket, but its job image (node:20-bookworm) has no Docker client. docker/login-action and docker/build-push-action both shell out to docker, so each job now installs docker-ce-cli from Docker's apt repository. It refreshes only that repository, so it needs no Debian mirrors.
  • Registry host. The host was derived from the runner's server URL. If the runner reaches Gitea at an internal address, that isn't the public registry. An optional repository variable, REGISTRY_HOST, now overrides it. It's a variable rather than a hardcoded value, so the operator's host name stays out of the public repo. If the next run still fails at login, setting REGISTRY_HOST to the registry's public host name is the next thing to try.
  • Shell. The step that works out the registry runs under bash explicitly, since it lowercases the owner with bash syntax.

The workflow still parses. The real test is the run this triggers once merged to main.

**Summary generated by LLM agent** The image builds still failed after #4. This follows the setup that works in another repo: - **Docker CLI.** The `dejima-privileged` runner mounts the host's Docker socket, but its job image (`node:20-bookworm`) has no Docker client. `docker/login-action` and `docker/build-push-action` both shell out to `docker`, so each job now installs `docker-ce-cli` from Docker's apt repository. It refreshes only that repository, so it needs no Debian mirrors. - **Registry host.** The host was derived from the runner's server URL. If the runner reaches Gitea at an internal address, that isn't the public registry. An optional repository variable, `REGISTRY_HOST`, now overrides it. It's a variable rather than a hardcoded value, so the operator's host name stays out of the public repo. If the next run still fails at login, setting `REGISTRY_HOST` to the registry's public host name is the next thing to try. - **Shell.** The step that works out the registry runs under `bash` explicitly, since it lowercases the owner with bash syntax. The workflow still parses. The real test is the run this triggers once merged to `main`.
dejima-agent added 1 commit 2026-10-13 23:22:36 -07:00
The privileged runner's job image has no Docker client, which the login
and build actions need. The registry host can be set with a REGISTRY_HOST
repository variable when the runner reaches Gitea at an internal address.
branderson approved these changes 2026-10-13 23:24:11 -07:00
branderson merged commit 73d2f2405a into main 2026-10-13 23:24:18 -07:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: branderson/dotcom-arcade#5