Files
probably-rendering-one-more…/scripts/cleanup-integration.sh
codex-bot a589f51698
creative workspace review checks / verify (pull_request) Failing after 7m18s
Clean disposable CI stacks on interruption and job completion
2026-10-31 02:14:35 +08:00

23 lines
1.2 KiB
Bash

#!/usr/bin/env bash
set -Eeuo pipefail
: "${GITEA_RUN_ID:?A numeric CI run ID is required}"
[[ "$GITEA_RUN_ID" =~ ^[1-9][0-9]*$ ]] || { echo 'Refusing invalid CI run ID' >&2; exit 2; }
project="prompt-ci-$GITEA_RUN_ID"
filter="label=com.docker.compose.project=$project"
# Recheck ownership immediately before removal; never target a shared stack.
containers=$(docker ps -aq --filter "$filter")
for resource in $containers; do
[[ "$(docker inspect --format '{{index .Config.Labels "com.docker.compose.project"}}' "$resource")" == "$project" ]] || { echo "Refusing foreign resource: $resource" >&2; exit 2; }
docker rm -f "$resource"
done
volumes=$(docker volume ls -q --filter "$filter")
for resource in $volumes; do
[[ "$(docker volume inspect --format '{{index .Labels "com.docker.compose.project"}}' "$resource")" == "$project" ]] || { echo "Refusing foreign resource: $resource" >&2; exit 2; }
docker volume rm "$resource"
done
networks=$(docker network ls -q --filter "$filter")
for resource in $networks; do
[[ "$(docker network inspect --format '{{index .Labels "com.docker.compose.project"}}' "$resource")" == "$project" ]] || { echo "Refusing foreign resource: $resource" >&2; exit 2; }
docker network rm "$resource"
done