From edea54820ab5cf5b75c793d36b7dd65671d084d9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 27 May 2026 18:38:00 +0300 Subject: [PATCH] Enhance deployment workflows for cloud-pc, mini-pc, and ru-vps services with improved error handling and logging --- .gitea/workflows/deploy-cloud-pc.yml | 14 ++++++++++++++ .gitea/workflows/deploy-mini-pc.yml | 14 ++++++++++++++ .gitea/workflows/deploy-ru-vps.yml | 14 ++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/.gitea/workflows/deploy-cloud-pc.yml b/.gitea/workflows/deploy-cloud-pc.yml index 14bab47..1428670 100644 --- a/.gitea/workflows/deploy-cloud-pc.yml +++ b/.gitea/workflows/deploy-cloud-pc.yml @@ -11,18 +11,32 @@ jobs: steps: - name: Deploy changed stacks run: | + set -euxo pipefail cd /opt/services + git --version + docker version + docker compose version git config --global --add safe.directory /opt/services git pull + git diff --name-only HEAD~1 HEAD for dir in $(git diff --name-only HEAD~1 HEAD | grep '^cloud-pc/' | cut -d/ -f2 | sort -u); do echo "==> Deploying $dir" + if [ "$dir" = "gitea-runner" ]; then + echo "Skipping gitea-runner self-update" + continue + fi cd /opt/services/cloud-pc/$dir test -f docker-compose.yml || { echo "No docker-compose.yml in $dir, skipping"; cd /opt/services; continue; } + docker compose config --quiet if grep -qE '^[[:space:]]*build:' docker-compose.yml; then + echo "==> Running docker compose up -d --build --remove-orphans for $dir" docker compose up -d --build --remove-orphans else + echo "==> Running docker compose pull for $dir" docker compose pull + echo "==> Running docker compose up -d --remove-orphans for $dir" docker compose up -d --remove-orphans fi + docker compose ps cd /opt/services done diff --git a/.gitea/workflows/deploy-mini-pc.yml b/.gitea/workflows/deploy-mini-pc.yml index bc56e74..b9849f9 100644 --- a/.gitea/workflows/deploy-mini-pc.yml +++ b/.gitea/workflows/deploy-mini-pc.yml @@ -12,18 +12,32 @@ jobs: steps: - name: Deploy changed stacks run: | + set -euxo pipefail cd /opt/services + git --version + docker version + docker compose version git config --global --add safe.directory /opt/services git pull + git diff --name-only HEAD~1 HEAD for dir in $(git diff --name-only HEAD~1 HEAD | grep '^mini-pc/' | cut -d/ -f2 | sort -u); do echo "==> Deploying $dir" + if [ "$dir" = "gitea-runner" ]; then + echo "Skipping gitea-runner self-update" + continue + fi cd /opt/services/mini-pc/$dir test -f docker-compose.yml || { echo "No docker-compose.yml in $dir, skipping"; cd /opt/services; continue; } + docker compose config --quiet if grep -qE '^[[:space:]]*build:' docker-compose.yml; then + echo "==> Running docker compose up -d --build --remove-orphans for $dir" docker compose up -d --build --remove-orphans else + echo "==> Running docker compose pull for $dir" docker compose pull + echo "==> Running docker compose up -d --remove-orphans for $dir" docker compose up -d --remove-orphans fi + docker compose ps cd /opt/services done diff --git a/.gitea/workflows/deploy-ru-vps.yml b/.gitea/workflows/deploy-ru-vps.yml index 6d94b9a..4257ff9 100644 --- a/.gitea/workflows/deploy-ru-vps.yml +++ b/.gitea/workflows/deploy-ru-vps.yml @@ -12,18 +12,32 @@ jobs: steps: - name: Deploy changed stacks run: | + set -euxo pipefail cd /opt/services + git --version + docker version + docker compose version git config --global --add safe.directory /opt/services git pull + git diff --name-only HEAD~1 HEAD for dir in $(git diff --name-only HEAD~1 HEAD | grep '^ru-vps/' | cut -d/ -f2 | sort -u); do echo "==> Deploying $dir" + if [ "$dir" = "gitea-runner" ]; then + echo "Skipping gitea-runner self-update" + continue + fi cd /opt/services/ru-vps/$dir test -f docker-compose.yml || { echo "No docker-compose.yml in $dir, skipping"; cd /opt/services; continue; } + docker compose config --quiet if grep -qE '^[[:space:]]*build:' docker-compose.yml; then + echo "==> Running docker compose up -d --build --remove-orphans for $dir" docker compose up -d --build --remove-orphans else + echo "==> Running docker compose pull for $dir" docker compose pull + echo "==> Running docker compose up -d --remove-orphans for $dir" docker compose up -d --remove-orphans fi + docker compose ps cd /opt/services done