The runner config.yaml on disk was decorative — never read. The upstream gitea/act_runner image's run.sh only adds `--config <file>` when the CONFIG_FILE env var is set, and our compose set neither CONFIG_FILE nor mounted config.yaml into the container. So `timeout: 240m`, `container.options`, `valid_volumes` etc. were silently ignored and the runner ran on built-in defaults. This is also why iter17's `-v /root/.docker:/root/.docker:ro` addition to config.yaml had no effect on run #4264: the runner never read it. The push still failed with "no basic auth credentials". Fix: bind-mount ./config.yaml into the runner container at /etc/act_runner/config.yaml and set CONFIG_FILE to that path. After a `docker compose up -d --force-recreate`, the runner picks up everything in config.yaml — including the per-job-container /root/.docker bind. Per-job timeouts in build-iso-linux.yaml are set via `timeout-minutes: 240` at the job level, which overrides the daemon default anyway, so nothing was visibly broken before. But silently-ignored config is a trap for the next thing we add to config.yaml, so wire it correctly now. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB