diff --git a/accept_merge_request.py b/accept_merge_request.py index 878c8a075ddd7903a1a196a6ed73b046ca328aa8..75ad1b093281fd887134b90f136d9caa32ddf6fb 100755 --- a/accept_merge_request.py +++ b/accept_merge_request.py @@ -27,7 +27,9 @@ def accept_merge_request(project, mr, rebase=False): # Update merge request before trying to merge it in order to get the latest # pipeline status try: - updated_mr = project.mergerequests.get(id=mr.iid) + updated_mr = project.mergerequests.get( + id=mr.iid, retry_transient_errors=True + ) mr = updated_mr except GitlabGetError as e: print("WARNING: Could not update merge request object: %s" % e) @@ -129,7 +131,9 @@ def main(): project = common.get_project(gitlab, args.project) try: - merge_request = project.mergerequests.get(id=args.merge_request) + merge_request = project.mergerequests.get( + id=args.merge_request, retry_transient_errors=True + ) except GitlabGetError as e: sys.exit("Could not get merge request: %s" % e) diff --git a/check_pipeline_status.py b/check_pipeline_status.py index 3ddfa12e15005da806699ec4b6c63093a72bb12b..e627495429a265058db69d51447a3e5937909d52 100755 --- a/check_pipeline_status.py +++ b/check_pipeline_status.py @@ -11,7 +11,7 @@ def check_pipeline_status(project, commit): """Get latest pipeline status for a given commit""" # Find pipeline for commit - pipelines = project.pipelines.list(sha=commit) + pipelines = project.pipelines.list(sha=commit, retry_transient_errors=True) if not pipelines: print("ERROR: no pipeline for commit '%s' found" % commit) sys.exit(1) @@ -23,7 +23,7 @@ def check_pipeline_status(project, commit): while pipeline.status not in terminated_states: print(".", end="", flush=True) time.sleep(1) - pipeline = project.pipelines.get(pipeline.id) + pipeline = project.pipelines.get(pipeline.id, retry_transient_errors=True) print("") print("Result: %s" % pipeline.status) diff --git a/common.py b/common.py index 59934279f3f3cc9b16cd4b2a959c8e4849483a75..10b23fe7d1744022f2159319b7bf323093f96c14 100755 --- a/common.py +++ b/common.py @@ -43,7 +43,7 @@ def get_project(gitlab, project_name): def get_latest_commit(project, branch_name): """Get latest commit on a given project branch""" try: - branch = project.branches.get(branch_name) + branch = project.branches.get(branch_name, retry_transient_errors=True) except GitlabGetError as e: sys.exit( "ERROR: could not get branch '%s' for project '%s': %s" @@ -72,6 +72,7 @@ def rebase_merge_request(project, merge_request): updated_merge_request = project.mergerequests.get( id=merge_request.iid, query_parameters={"include_rebase_in_progress": "True"}, + retry_transient_errors=True, ) except GitlabGetError as e: merge_request.merge_error = "Could not get updated merge request: %s" % e diff --git a/integrate_into_manifest.py b/integrate_into_manifest.py index 69992332b1cf0d429fe8179194b13d19973280ad..5568f375bb8c6e6d1bffa45a23bd895700c82070 100755 --- a/integrate_into_manifest.py +++ b/integrate_into_manifest.py @@ -160,7 +160,9 @@ def main(): manifest_project = common.get_project(gitlab, args.manifest_project) project = common.get_project(gitlab, args.project) try: - merge_request = project.mergerequests.get(args.merge_request) + merge_request = project.mergerequests.get( + args.merge_request, retry_transient_errors=True + ) except GitlabGetError as e: sys.exit( "ERROR: could not get %s!%s: %s" diff --git a/merge_into_manifest.py b/merge_into_manifest.py index edf0330ca87a8cd7ff3b639b56c132f703049f9b..1d608e1c74db07e93f070861c8d82b83c5d24d0f 100755 --- a/merge_into_manifest.py +++ b/merge_into_manifest.py @@ -51,11 +51,11 @@ def merge_into_manifest(manifest_project, master_branch, project, commit): # Check if branches exist try: - manifest_project.branches.get(integration_branch) + manifest_project.branches.get(integration_branch, retry_transient_errors=True) except GitlabGetError: sys.exit("ERROR: source branch '%s' does not exist." % integration_branch) try: - manifest_project.branches.get(target_branch) + manifest_project.branches.get(target_branch, retry_transient_errors=True) except GitlabGetError: sys.exit("ERROR: target branch '%s' does not exist." % target_branch) diff --git a/retrigger_mr_pipeline.py b/retrigger_mr_pipeline.py index ebfd67b5c07f38405ab78c3e6af861235d9d948b..c46dc608bb2d50e31302cb275c4bc86968df0ea6 100755 --- a/retrigger_mr_pipeline.py +++ b/retrigger_mr_pipeline.py @@ -59,7 +59,7 @@ def main(): gitlab = Gitlab(args.gitlab_url, private_token=args.token) project = common.get_project(gitlab, args.project) try: - mr = project.mergerequests.get(args.iid) + mr = project.mergerequests.get(args.iid, retry_transient_errors=True) except GitlabGetError as e: sys.exit( "ERROR: could not get merge request %s:!%s: %s"