log: level: debug job_level: info runner: file: .runner capacity: 1 timeout: 3h insecure: false fetch_timeout: 5s fetch_interval: 2s report_interval: 1s # Label mappings decide how each `runs-on:` value is executed. The # `:host` suffix means "run steps directly in the runner container" # (no wrapping job container). build-iso uses `runs-on: self-hosted` # because its `docker run -v $REPO_ROOT:/work` needs host-visible # paths — nested containers would put the workspace in a namespace # host docker can't see. labels: - "ubuntu-latest:docker://catthehacker/ubuntu:act-latest" - "docker:docker://catthehacker/ubuntu:act-latest" - "self-hosted:host" cache: enabled: true dir: "" host: "" port: 0 proxy_port: 0 container: network: "" privileged: false # Docker-outside-of-docker: runner and all job containers share the # host's docker daemon via the unix socket. valid_volumes whitelists # the socket so it can be mounted into job containers (the runner # handles this automatically — don't also mount it from a workflow # or you'll get "duplicate mount point"). valid_volumes: - "/var/run/docker.sock" docker_host: "unix:///var/run/docker.sock" force_pull: false host: workdir_parent: