diff --git a/scripts/handle_artifacts.py b/scripts/handle_artifacts.py index 56cd75afd09e00f0b21ad7ed77b00dc263eec6f4..75946c48ee868f04a682649a0112487a48cb0dee 100755 --- a/scripts/handle_artifacts.py +++ b/scripts/handle_artifacts.py @@ -3,7 +3,7 @@ import argparse import logging import sys -from gitlab import Gitlab +from gitlab import Gitlab, GitlabCreateError import common from fullbuildpipeline import FullBuildPipeline @@ -113,13 +113,19 @@ def main(): # job.keep_artifacts() job = manifest_project.jobs.get(pipelinejob.id, lazy=True) - if commit.id in keep_artifacts_sha: - print(f"keep_artifacts() for {pipelinejob.web_url}") - job.keep_artifacts() - else: - print(f"delete_artifacts() for {pipelinejob.web_url}") - job.delete_artifacts() - + try: + if commit.id in keep_artifacts_sha: + print(f"keep_artifacts() for {pipelinejob.web_url}") + job.keep_artifacts() + else: + print(f"delete_artifacts() for {pipelinejob.web_url}") + job.delete_artifacts() + except GitlabCreateError as e: + print(f"Error: {e.error_message}") + if e.response_code == 404: + continue + else: + raise e print("—" * 80)