mirror of
https://github.com/redwoodjs/local-ci.git
synced 2026-09-19 07:54:29 +08:00
38994c80cf
* fix: service containers leak on unclean shutdown Problem: Service containers (e.g. `agent-ci-*-svc-cache-db`) were created without the `agent-ci.pid` label, making them invisible to the bootstrap orphan cleanup (`killOrphanedContainers`). When the parent process died without hitting its signal handler (crash, SIGKILL, Bash tool timeout), these containers leaked permanently. Additionally, SIGHUP was not handled, so closing a tmux pane or SSH disconnect also leaked runner containers. Containers stuck in `created` state were also missed by the prune logic. Solution: Label service containers with `agent-ci.pid` at creation time. Update `killOrphanedContainers` to clean up unlabeled containers (handles pre-fix containers) and derive the runner name from svc container names (strip `-svc-*` suffix) with deduplication. Add SIGHUP to signal handlers in both `cli.ts` and `local-job.ts`. Extend `pruneOrphanedDockerResources` to also prune `status=created` containers. Fixes #216 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use XDG cache on Linux Docker Desktop so bind mounts work (#215) `/tmp` is not in Docker Desktop's default shared-folder list on Linux, so bind mounts from `/tmp` silently fail. Detect Linux Docker Desktop via `~/.docker/desktop/docker.sock` and fall back to `$XDG_CACHE_HOME` (or `~/.cache`). Also update the validate command to run agent-ci in the background with Monitor for proper pause-on-failure support, and note Docker Desktop as a supported Linux provider in the README. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: remove stop hook that ran agent-ci synchronously The stop hook can't support pause-on-failure since it runs after the conversation ends. Use `/validate` instead, which runs agent-ci in the background with Monitor support for fixing and retrying failures. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>