From 87487510ce229d137448ff3201192156166d6d61 Mon Sep 17 00:00:00 2001 From: Abdulbari Date: Mon, 1 Sep 2025 03:02:23 +0300 Subject: [PATCH] update to sgeupdated pipeline v18 added some feature to avoid failing when nothing is changed --- .gitea/workflows/sgeupdated.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/sgeupdated.yml b/.gitea/workflows/sgeupdated.yml index 8cfe183..9c2062e 100644 --- a/.gitea/workflows/sgeupdated.yml +++ b/.gitea/workflows/sgeupdated.yml @@ -5,10 +5,10 @@ on: push: branches: - main # trigger only when code is merged into main - workflow_dispatch: # ✅ allow manual trigger + workflow_dispatch: # allow manual trigger concurrency: - group: sgeupdated-deploy-${{ github.ref }} # ✅ prevent overlapping deploys for same branch + group: sgeupdated-deploy-${{ github.ref }} cancel-in-progress: true jobs: @@ -26,6 +26,7 @@ jobs: key: ${{ secrets.SSH_PRIVATE_KEY }} script_stop: true script: | + set -euo pipefail cd /home/ubuntu/sgeUpdated git fetch origin main git reset --hard origin/main @@ -34,14 +35,19 @@ jobs: CHANGED_FILES=$(git diff --name-only HEAD^ HEAD || true) echo "Changed files: $CHANGED_FILES" + # --- Skip deploy if no backend/frontend changes --- + if ! echo "$CHANGED_FILES" | grep -E "(^|/)sge-(frontend|backend)/"; then + echo "✅ No frontend/backend changes detected. Skipping Docker rebuild." + exit 0 + fi + # --- Backend --- if echo "$CHANGED_FILES" | grep -E "(^|/)sge-backend/"; then echo "⚙️ Backend changes detected. Rebuilding backend..." cd sge-backend mvn clean install -DskipTests cd .. - docker compose build --no-cache backend - docker compose up -d --force-recreate backend + docker compose up -d --build backend else echo "✅ No backend changes detected." fi @@ -53,8 +59,7 @@ jobs: npm install npm run build cd .. - docker compose build --no-cache frontend - docker compose up -d --force-recreate frontend + docker compose up -d --build frontend else echo "✅ No frontend changes detected." fi