Expand description
The build cache every runner shares (ADR 0052): the entries of Gradle’s HTTP build cache, and of the other tools
the runner image points at it, kept per repository in a directory of the daemon’s and served to each runner on a
Unix socket of its own, which the runner image forwards to 127.0.0.1. Owns the entries, the size limit, the
sockets, and what each runner was served and stored. Which socket a request came in on is who sent it; no job can
claim another’s. It never decides whether a job may write: the engine tells it (Writes), from what GitHub says
of the job. It never logs a request’s headers, which may carry a tool’s token.
Structs§
- Build
Cache - The shared build cache. Cloning shares it.
- Size
- The build cache’s size now.
- Trimmed
- What
trimremoved.
Enums§
- Writes
- Whether a runner’s job may write entries.
Constants§
- MOUNT
- Where a runner container mounts its socket’s directory, read-only (
image/entrypoint.sh). - SOCKET
- The socket’s name in that directory.
Functions§
- writes
- Whether
runner’s job may write, from what GitHub says: the runner it placed the job on (job_runner, which a job cannot forge as it can its runner’s log), and its run’s trigger. Only a push, scheduled or manually started run ofrepositoryitself on one ofbranchesmay;Undecidedwhile GitHub places the job on no runner.