From 4bdc6bb82afc9611e153d17a97d0d595e53af6ea Mon Sep 17 00:00:00 2001 From: Nina Stawski Date: Mon, 12 Jun 2023 10:10:46 -0700 Subject: [PATCH] Gitlab job fix - added backoff to retry on failure (#311) --- poetry.lock | 4 ++-- pyproject.toml | 1 + scripts/create_gh_release.py | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/poetry.lock b/poetry.lock index c0cd622d..fc5a35bc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -693,7 +693,7 @@ python-versions = "*" [[package]] name = "typing-extensions" -version = "4.6.2" +version = "4.6.3" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -742,7 +742,7 @@ otlp = ["opentelemetry-exporter-otlp-proto-grpc"] [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "c3ecc35b65c4cff5d94fe624b0b528542b8084abb5794ef639c91d63d53503a8" +content-hash = "d11a2d2ff95bfdc2022b3fc5ccfb22d3b41bed7fd912c663ab068f8592045ef3" [metadata.files] astroid = [] diff --git a/pyproject.toml b/pyproject.toml index 167eb4be..372c9c97 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,6 +43,7 @@ otlp = ["opentelemetry-exporter-otlp-proto-grpc"] jaeger = ["opentelemetry-exporter-jaeger-thrift"] [tool.poetry.dev-dependencies] +backoff = ">=2.1.2,<2.2.0" flake8 = "~3.7" mypy = "0.971" black = {version = "22.6.0", python = ">=3.7.0"} diff --git a/scripts/create_gh_release.py b/scripts/create_gh_release.py index ad4e0cb2..dce1c10d 100755 --- a/scripts/create_gh_release.py +++ b/scripts/create_gh_release.py @@ -13,7 +13,10 @@ # limitations under the License. from os import path +from time import sleep +from urllib3.exceptions import HTTPError +import backoff import click import keepachangelog from github_release import gh_release_create @@ -55,6 +58,7 @@ def print_release_details(**kwargs): default=True, help="Print out the release details instead of actually creating one", ) +@backoff.on_exception(backoff.expo, HTTPError, max_time=60) def main(dry_run): versions = get_versions() @@ -72,6 +76,7 @@ def main(dry_run): action = print_release_details if not dry_run: action = gh_release_create + sleep(5) action( repo_name="signalfx/splunk-otel-python", tag_name=git_tag,