diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 92220ee..c72c412 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -75,9 +75,28 @@ jobs: --filename quay.yaml for deployment in quay quay-repomirror; do - "${RUNNER_TEMP}/kubectl" --namespace "${NAMESPACE}" rollout status \ - "deployment/${deployment}" \ - --timeout=15m + for attempt in {1..180}; do + IFS='|' read -r generation observed desired updated ready available unavailable image <<< "$( + "${RUNNER_TEMP}/kubectl" --namespace "${NAMESPACE}" \ + get "deployment/${deployment}" \ + --output=jsonpath='{.metadata.generation}|{.status.observedGeneration}|{.spec.replicas}|{.status.updatedReplicas}|{.status.readyReplicas}|{.status.availableReplicas}|{.status.unavailableReplicas}|{.spec.template.spec.containers[0].image}' + )" + + echo "${deployment} ${attempt}/180: generation ${observed}/${generation}, replicas ${updated}/${desired} updated, ${ready}/${desired} ready, ${available}/${desired} available, image ${image}" + if [[ "${observed}" == "${generation}" \ + && "${updated}" == "${desired}" \ + && "${ready}" == "${desired}" \ + && "${available}" == "${desired}" \ + && ( -z "${unavailable}" || "${unavailable}" == "0" ) ]]; then + break + fi + + if [[ "${attempt}" == 180 ]]; then + echo "${deployment} rollout did not complete within fifteen minutes" >&2 + exit 1 + fi + sleep 5 + done done curl --fail --silent --show-error \ diff --git a/ci-deployer.yaml b/ci-deployer.yaml index d9ceb3b..dd4f829 100644 --- a/ci-deployer.yaml +++ b/ci-deployer.yaml @@ -34,7 +34,6 @@ rules: - get - patch - update - - watch - apiGroups: - networking.k8s.io resources: