Poll Kubernetes rollout status in CI
Publish container image / Build and push (push) Successful in 39s
Publish container image / Deploy to Kubernetes (push) Successful in 33s

This commit is contained in:
2026-08-04 23:01:27 +02:00
parent 72a8cd8fb7
commit 5db334c41e
+21 -3
View File
@@ -88,6 +88,24 @@ jobs:
"${RUNNER_TEMP}/kubectl" --namespace default set image \
deployment/immich-sync \
"immich-sync=${IMAGE}:${COMMIT_SHA}"
"${RUNNER_TEMP}/kubectl" --namespace default rollout status \
deployment/immich-sync \
--timeout=5m
for attempt in {1..60}; do
IFS='|' read -r generation observed desired updated available unavailable <<< "$(
"${RUNNER_TEMP}/kubectl" --namespace default get deployment/immich-sync \
--output=jsonpath='{.metadata.generation}|{.status.observedGeneration}|{.spec.replicas}|{.status.updatedReplicas}|{.status.availableReplicas}|{.status.unavailableReplicas}'
)"
echo "Rollout ${attempt}/60: generation ${observed}/${generation}, replicas ${updated}/${desired} updated, ${available}/${desired} available"
if [[ "${observed}" == "${generation}" \
&& "${updated}" == "${desired}" \
&& "${available}" == "${desired}" \
&& ( -z "${unavailable}" || "${unavailable}" == "0" ) ]]; then
echo "Deployment successfully rolled out"
exit 0
fi
sleep 5
done
"${RUNNER_TEMP}/kubectl" --namespace default describe deployment/immich-sync
exit 1