Try to fix DinD already running issue
Some checks failed
CI/CD Pipeline (Fully Isolated DinD) / Run Tests (DinD) (push) Failing after 8s
CI/CD Pipeline (Fully Isolated DinD) / Build and Push Docker Images (DinD) (push) Has been skipped
CI/CD Pipeline (Fully Isolated DinD) / Deploy to Production (push) Has been skipped

This commit is contained in:
continuist 2025-07-05 12:25:06 -04:00
parent 08add38c14
commit cc0c86f3d0

View file

@ -20,8 +20,22 @@ jobs:
steps:
- name: Setup DinD Environment
run: |
# Check if DinD container already exists and is running
if ! docker ps --format "table {{.Names}}" | grep -q "^ci-dind$"; then
# Check if DinD container exists (running or not)
if docker ps -a --format "table {{.Names}}" | grep -q "^ci-dind$"; then
echo "DinD container exists, checking status..."
# Check if it's running
if docker ps --format "table {{.Names}}" | grep -q "^ci-dind$"; then
echo "DinD container is running, reusing existing setup"
# Verify DinD is still working
docker exec ci-dind docker version
else
echo "DinD container exists but is not running, starting it..."
docker start ci-dind
# Wait for DinD to be ready
timeout 60 bash -c 'until docker exec ci-dind docker version; do sleep 2; done'
fi
else
echo "Starting new DinD container..."
# Start DinD container for isolated CI operations
docker run -d \
@ -44,18 +58,6 @@ jobs:
echo "${{ secrets.HARBOR_CI_PASSWORD }}" | docker exec -i ci-dind docker login ${{ secrets.CI_HOST }}:443 -u ${{ secrets.HARBOR_CI_USER }} --password-stdin
echo "DinD container setup complete"
else
echo "DinD container already running, reusing existing setup"
# Verify DinD is still working
docker exec ci-dind docker version
fi
# If container exists but is not running, start it
if docker ps -a --format "table {{.Names}}\t{{.Status}}" | grep -q "^ci-dind.*Exited\|^ci-dind.*Created"; then
echo "DinD container exists but is not running, starting it..."
docker start ci-dind
# Wait for DinD to be ready
timeout 60 bash -c 'until docker exec ci-dind docker version; do sleep 2; done'
fi
- name: Checkout code to DinD container