From 2b9e40b1aa07aad7353ce151fa68675df68ce6e5 Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Sat, 31 Oct 2026 02:12:06 +0800 Subject: [PATCH] Clean only confirmed cancelled run 605 disposable stack --- .../creative-browser-diagnostics.yml | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/creative-browser-diagnostics.yml b/.gitea/workflows/creative-browser-diagnostics.yml index 57bc1e2..cfabb7d 100644 --- a/.gitea/workflows/creative-browser-diagnostics.yml +++ b/.gitea/workflows/creative-browser-diagnostics.yml @@ -1,4 +1,4 @@ -name: creative cancelled stack diagnosis +name: creative cancelled stack cleanup on: push: branches: [codex/creative-browser-diagnosis] @@ -7,8 +7,28 @@ jobs: runs-on: ces-control timeout-minutes: 5 steps: - - name: Inspect only cancelled review run 605 resources + - name: Remove only confirmed cancelled run 605 disposable resources run: | - docker ps -a --filter label=com.docker.compose.project=prompt-ci-605 --format '{{.ID}} {{.Names}} {{.Status}}' - docker volume ls --filter label=com.docker.compose.project=prompt-ci-605 --format '{{.Name}}' - docker network ls --filter label=com.docker.compose.project=prompt-ci-605 --format '{{.ID}} {{.Name}}' + set -euo pipefail + project=prompt-ci-605 + docker ps -a --filter "label=com.docker.compose.project=$project" --format '{{.ID}} {{.Names}} {{.Status}}' + mapfile -t containers < <(docker ps -aq --filter "label=com.docker.compose.project=$project") + for resource in "${containers[@]}"; do + test "$(docker inspect --format '{{index .Config.Labels "com.docker.compose.project"}}' "$resource")" = "$project" + docker rm -f "$resource" + done + mapfile -t volumes < <(docker volume ls -q --filter "label=com.docker.compose.project=$project") + for resource in "${volumes[@]}"; do + test "$(docker volume inspect --format '{{index .Labels "com.docker.compose.project"}}' "$resource")" = "$project" + docker volume rm "$resource" + done + mapfile -t networks < <(docker network ls -q --filter "label=com.docker.compose.project=$project") + for resource in "${networks[@]}"; do + test "$(docker network inspect --format '{{index .Labels "com.docker.compose.project"}}' "$resource")" = "$project" + docker network rm "$resource" + done + test -z "$(docker ps -aq --filter "label=com.docker.compose.project=$project")" + test -z "$(docker volume ls -q --filter "label=com.docker.compose.project=$project")" + test -z "$(docker network ls -q --filter "label=com.docker.compose.project=$project")" + uptime + free -m