From f4590eafb54a08581a07bfb6a674c53c56b2d0eb Mon Sep 17 00:00:00 2001 From: Marco Wettstein <maw@panter.ch> Date: Sat, 20 Mar 2021 15:07:26 +0100 Subject: [PATCH] feat: new default retry rules on system errors --- includes/docker-build.yml | 1 - includes/kubernetes.yml | 5 +++-- includes/retry.yml | 6 ++++++ includes/setup.yml | 2 +- panter-kubernetes-base.yml | 19 +++++++++++++++---- 5 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 includes/retry.yml diff --git a/includes/docker-build.yml b/includes/docker-build.yml index 89e74cb..ff27302 100644 --- a/includes/docker-build.yml +++ b/includes/docker-build.yml @@ -15,7 +15,6 @@ .docker-build-base: image: docker:18-dind - retry: 2 services: - docker:18-dind variables: diff --git a/includes/kubernetes.yml b/includes/kubernetes.yml index 8e66fb4..75357c3 100644 --- a/includes/kubernetes.yml +++ b/includes/kubernetes.yml @@ -87,8 +87,9 @@ } .deploy-to-kubernetes: - extends: .env-base - retry: 2 + extends: + - .retry-default + - .env-base script: - *auto_devops - kubernetesEnsureNamespace diff --git a/includes/retry.yml b/includes/retry.yml new file mode 100644 index 0000000..a1ecf1b --- /dev/null +++ b/includes/retry.yml @@ -0,0 +1,6 @@ +.retry-default: + retry: + max: 3 + when: + - runner_system_failure + - stuck_or_timeout_failure diff --git a/includes/setup.yml b/includes/setup.yml index 01d793a..0091e6f 100644 --- a/includes/setup.yml +++ b/includes/setup.yml @@ -1,8 +1,8 @@ .setup-build-info: stage: setup extends: + - .retry-default - .rules-always - retry: 2 script: - cd $APP_PATH - BUILD_TAG="$(git describe --tags || git rev-parse HEAD)" diff --git a/panter-kubernetes-base.yml b/panter-kubernetes-base.yml index 5d54ecc..02a4b49 100644 --- a/panter-kubernetes-base.yml +++ b/panter-kubernetes-base.yml @@ -1,5 +1,6 @@ include: - /includes/env.yml + - /includes/retry.yml - /includes/cache.yml - /includes/rules.yml - /includes/setup.yml @@ -71,6 +72,7 @@ image: panterch/docker-ci-kubernetes-deploy stage: test needs: [] extends: + - .retry-default - .rules-always-but-not-on-tags .test: @@ -81,6 +83,7 @@ image: panterch/docker-ci-kubernetes-deploy .lint-base: stage: test extends: + - .retry-default - .rules-always-but-not-on-tags .lint: @@ -90,8 +93,8 @@ image: panterch/docker-ci-kubernetes-deploy .app-build-base: stage: build - retry: 2 extends: + - .retry-default - .rules-always needs: ["setup-build-info"] @@ -108,13 +111,16 @@ image: panterch/docker-ci-kubernetes-deploy stage: deploy rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - retry: 2 - extends: .deploy-to-kubernetes-review + extends: + - .retry-default + - .deploy-to-kubernetes-review .review-stop: tags: stage: review-stop - extends: .kubernetes-review-stop + extends: + - .retry-default + - .kubernetes-review-stop rules: - if: $CI_COMMIT_BRANCH =~ /^[0-9]+\.([0-9]+|x)\.x$/ # automatic on hotfix branches when: on_success @@ -126,22 +132,27 @@ image: panterch/docker-ci-kubernetes-deploy .dev-deploy: stage: deploy extends: + - .retry-default - .rules-dev-deploy - .deploy-to-kubernetes-dev .stage-deploy: stage: deploy extends: + - .retry-default - .rules-stage-deploy - .deploy-to-kubernetes-stage .prod-deploy: stage: deploy extends: + - .retry-default - .rules-prod-deploy - .deploy-to-kubernetes-prod .verify-base: + extends: + - .retry-default stage: verify .verify-review: -- GitLab