diff --git a/CHANGELOG.md b/CHANGELOG.md index ee91ddd..28907e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Enh #448: Add grouping to `make` help output (@Xakki, @samdark) - Enh #449: Update composer dependencies and refactor to replace use of deprecated classes (@vjik) - Chg #449: Remove `yiisoft/data-response` dependency (@vjik) +- Enh #456: Add "service update paused" case for swarm deployment log parsing (@samdark) ## 1.2.0 February 20, 2026 diff --git a/Makefile b/Makefile index 731b6a7..ffa07de 100644 --- a/Makefile +++ b/Makefile @@ -127,14 +127,14 @@ ifeq ($(PRIMARY_GOAL),prod-deploy) prod-deploy: ## Deploy to production. set -euo pipefail \ docker -H ${PROD_SSH} stack deploy --prune --detach=false --with-registry-auth -c docker/compose.yml -c docker/prod/compose.yml ${STACK_NAME} 2>&1 | tee deploy.log \ - if grep -qiE 'rollback:|update rolled back' deploy.log then \ + if grep -qiE 'rollback:|update rolled back|service update paused' deploy.log then \ FAILED_TASK_ID="$(grep -oiE 'task[[:space:]]+[a-z0-9]+' deploy.log | head -n 1 | awk '{print $2}')" \ if [ -n "${FAILED_TASK_ID}" ]; then \ - echo "Docker Swarm update rolled back; failing job. Failed task ID: ${FAILED_TASK_ID}" \ + echo "Docker Swarm update failed. Failed task ID: ${FAILED_TASK_ID}" \ echo "--- docker service logs (${FAILED_TASK_ID}) ---" \ docker -H ${PROD_SSH} service logs --timestamps --tail 500 "${FAILED_TASK_ID}" || true \ else \ - echo 'Docker Swarm update rolled back; failing job. Failed task ID: not found in deploy output.' \ + echo 'Docker Swarm update failed. Failed task ID: not found in deploy output.' \ fi \ exit 1 \ fi