Handle gitlab 404 error

ci: do not retry on 404 when LOCAL_GITLAB_HTTPS_HOST not set
pull/9239/head
Tomas Sebestik 2022-01-17 07:23:03 +01:00 zatwierdzone przez BOT
rodzic 70c1ea2092
commit a0b227cf85
1 zmienionych plików z 10 dodań i 3 usunięć

Wyświetl plik

@ -25,9 +25,16 @@ def retry(func: TR) -> TR:
try:
res = func(self, *args, **kwargs)
except (IOError, EOFError, gitlab.exceptions.GitlabError) as e:
if isinstance(e, gitlab.exceptions.GitlabError) and e.response_code != 500:
# Only retry on error 500
raise e
if isinstance(e, gitlab.exceptions.GitlabError):
if e.response_code == 500:
# retry on this error
pass
elif e.response_code == 404 and os.environ.get('LOCAL_GITLAB_HTTPS_HOST', None):
# remove the environment variable "LOCAL_GITLAB_HTTPS_HOST" and retry
os.environ.pop('LOCAL_GITLAB_HTTPS_HOST', None)
else:
# other GitlabErrors aren't retried
raise e
retried += 1
if retried > self.DOWNLOAD_ERROR_MAX_RETRIES:
raise e # get out of the loop