Files
gitea/TODO.AI.md
T
jason 6a3a9bde14
gitea / release-gitea (push) Failing after 48s
🚀 Enable shared act_runner cache-server 🚀
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
2026-08-03 11:57:10 -04:00

1.2 KiB

TODO.AI.md

Lint cleanup — pre-existing script-lint violations (found incidentally while wiring act_runner cache-server)

Not fixed yet — out of scope for the cache-enablement change; flagged by script-lint agent.

  • rootfs/usr/local/bin/start-runners:
    • line 24: UUOC — echo "$SERVER_ADDRESS" | grep -q '://' should be [[ "$SERVER_ADDRESS" == *"://"* ]]
    • line 24: grep -q '://' missing -- before query
  • rootfs/usr/local/etc/docker/init.d/zz-act_runner.sh:
    • line 4: ##@Version header present but no matching VERSION= assignment in script body
    • missing -- before the grep query at lines 124 (x2), 130, 133, 134, 369, 390, 401, 438, 468, 525 (x2), 544 (x2, also should quote the grep pattern), 571, 583

Other observations not yet actioned

  • .gitea/workflows/docker.yaml uses the same stale/unpinned action pattern (@v2-@v4, DockerHub-only, catthehacker/ubuntu:act-latest) that was removed from the opengist repo's duplicate workflow — no build.yml counterpart exists here yet.
  • Dockerfile sets forbidden OCI labels (org.opencontainers.image.base.name, .schema-version, duplicate authors) — same issue previously found and fixed in opengist.