Эх сурвалжийг харах

Merge branch 'fix/gitlab_404_local_mirror_v4.2' into 'release/v4.2'

Handle gitlab 404 error (v4.2)

See merge request espressif/esp-idf!16960
Jiang Jiang Jian 3 жил өмнө
parent
commit
a609fb0f02

+ 10 - 3
tools/ci/python_packages/gitlab_api.py

@@ -28,9 +28,16 @@ def retry(func):  # type: (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