# act_runner's own configuration, mounted into the container as # /config/config.yaml. See docker-compose.ci.yml and docs/gitea-runner.md. log: level: info runner: # Two jobs at a time. The test workflow has four, so a push runs them in two # waves on an 8-core box — raise it if the box is idle anyway. capacity: 2 timeout: 1h shutdown_timeout: 3h insecure: false fetch_timeout: 5s fetch_interval: 2s # Deliberately empty: the labels come from GITEA_RUNNER_LABELS at registration # and live in .runner afterwards. Setting them in both places is how they end # up disagreeing. labels: [] cache: # What makes `actions/cache@v4` work — the Android SDK download and the gradle # caches are most of the APK job's wall clock. The server is run by the runner # itself, inside the container, and reached by job containers over the shared # `gitea-runner` network, so there is no port to publish or firewall. enabled: true dir: "" host: "" port: 0 container: # The same network the runner is on. Not `bridge`: on the default bridge the # job containers cannot reach the runner's cache server. network: gitea-runner privileged: false options: workdir_parent: workspace # How job containers get at a docker daemon, which `docker.yml` needs to build # and push the image. # # **Empty is not "off" here.** In act_runner 0.3.x an empty `docker_host` means # "find a docker host and mount it into the job containers" — which is exactly # what is wanted. `"-"` is the value that finds one for the runner but does # *not* pass it to jobs, and `automount` is a later version's spelling of the # default: on 0.3.1 it fails with `unable to parse docker host automount` and # the daemon restart-loops without ever coming online. docker_host: "" # The allow-list for volumes a workflow or a service container may ask for. # The socket is already mounted by the line above; this is what makes an # explicit mount of it legal too, rather than silently dropped. valid_volumes: - /var/run/docker.sock force_pull: false force_rebuild: false host: # Only used by `:host` labels, which this runner deliberately does not offer. workdir_parent: /tmp/act_runner