mirror of
https://github.com/casjaysdevdocker/gitea
synced 2026-08-14 14:01:17 -04:00
gitea / release-gitea (push) Failing after 48s
Turned on the act_runner Actions cache instead of leaving it disabled. The standalone `cache-server` process was already being launched unconditionally by zz-act_runner.sh but had no `external_secret`, so it was refusing to start (the binary requires a non-empty secret even though its own `cache.enabled` field is unused). Wired a shared, randomly generated secret through the existing REPLACE_* templating pattern so the "gitea" runner, the cache-server, and the extra runner-N daemons spawned by start-runners all share one cache backend. - rootfs/tmp/etc/act_runner/default_config.yaml: cache.enabled: true; added external_server (pointed at the local cache-server) and external_secret placeholders - rootfs/tmp/etc/act_runner/cache_server.yaml: cache.enabled: true; added external_secret placeholder (required for the binary to start) - rootfs/usr/local/etc/docker/init.d/zz-act_runner.sh: added __gen_cache_secret() (mirrors __gen_auth_token's persisted-token pattern, stored at $CONF_DIR/tokens/cache_secret); substitutes REPLACE_RUNNER_CACHE_SECRET into both the runner config and the cache-server config; exports RUNNER_CACHE_HOST/PORT/SECRET for start-runners; bumped version stamp - rootfs/usr/local/bin/start-runners: generates a shared runners-cache.yaml from the exported cache env vars and passes --config to both `act_runner register` and `act_runner daemon` for every runner-N instance, so they use the same external cache server instead of an unshared per-process local cache - TODO.AI.md: logged pre-existing script-lint findings (missing `--` before grep queries throughout zz-act_runner.sh, a UUOC in start-runners, an unpinned/stale docker.yaml CI workflow, and forbidden OCI labels in the Dockerfile) surfaced incidentally by the lint pass for this change but out of scope for it
72 lines
2.7 KiB
YAML
72 lines
2.7 KiB
YAML
# Config for act_runner daemon
|
|
log:
|
|
# The level of logging, can be trace, debug, info, warn, error, fatal
|
|
level: warn
|
|
|
|
host:
|
|
# The parent directory of a job's working directory.
|
|
workdir_parent: 'REPLACE_RUNNER_TEMP'
|
|
|
|
runner:
|
|
# Where to store the registration result.
|
|
file: REPLACE_RUNNER_HOME/runners
|
|
# Execute how many tasks concurrently at the same time.
|
|
capacity: 4
|
|
# Extra environment variables to run jobs.
|
|
envs:
|
|
A_TEST_ENV_NAME_1: a_test_env_value_1
|
|
# Extra environment variables to run jobs from a file.
|
|
env_file: .env
|
|
# The timeout for a job to be finished.
|
|
timeout: 3h
|
|
# Whether skip verifying the TLS certificate of the Gitea instance.
|
|
insecure: true
|
|
# The timeout for fetching the job from the Gitea instance.
|
|
fetch_timeout: 5s
|
|
# The interval for fetching the job from the Gitea instance.
|
|
fetch_interval: 2s
|
|
# The labels of a runner are used to determine which jobs the runner can run, and how to run them.
|
|
labels:
|
|
#- 'macos:docker:dockurr/macos'
|
|
#- 'windows:docker:dockurr/windows'
|
|
#- 'linux:docker:casjaysdev/almalinux'
|
|
#- 'alma:docker:casjaysdev/almalinux'
|
|
#- 'alpine:docker:casjaysdev/alpine'
|
|
#- 'debian:docker:casjaysdev/debian'
|
|
#- 'arch:docker:casjaysdev/archlinux'
|
|
#- 'node:docker://node:latest'
|
|
#- 'node14:docker://node:14'
|
|
#- 'node16:docker://node:16'
|
|
#- 'node18:docker://node:18'
|
|
#- 'node20:docker://node:20'
|
|
#- 'node20:docker://node:20'
|
|
#- 'python3:docker://python:latest'
|
|
#- 'php7:docker://php:7-fpm'
|
|
#- 'php8:docker://php:8-fpm'
|
|
#- 'php:docker://php:8.4-rc-fpm-alpine3.20'
|
|
#- 'alpine:docker://casjaysdev/alpine:latest'
|
|
#- 'almalinux:docker://casjaysdev/almalinux:latest'
|
|
#- 'debian:docker://casjaysdev/debian:latest'
|
|
#- 'ubuntu:docker://casjaysdev/ubuntu:latest'
|
|
#- 'linux:host,ubuntu-latest:docker://catthehacker/ubuntu:full-latest'
|
|
|
|
container:
|
|
# Specifies the network to which the container will connect.
|
|
network: 'bridge'
|
|
# Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker).
|
|
privileged: true
|
|
# And other options to be used when the container is started (eg, --add-host=my.gitea.url:host-gateway).
|
|
options:
|
|
# The parent directory of a job's working directory.
|
|
workdir_parent: 'REPLACE_RUNNER_TEMP/volumes'
|
|
# Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob
|
|
valid_volumes:
|
|
- '**'
|
|
# overrides the docker client host with the specified one.
|
|
docker_host: ''
|
|
|
|
cache:
|
|
enabled: true
|
|
external_server: 'http://REPLACE_RUNNER_CACHE_HOST:REPLACE_RUNNER_CACHE_PORT/'
|
|
external_secret: 'REPLACE_RUNNER_CACHE_SECRET'
|