diff options
author | Cleber Rosa <crosa@redhat.com> | 2020-09-04 12:42:57 -0400 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2020-10-13 12:48:17 +0200 |
commit | 176498ab57dc14a7c14a58b490aa16319f0cf638 (patch) | |
tree | 59af4a7b775b4adcb332cd1a8c6847dc7c788a0d /scripts/ci | |
parent | 79df438eeb5e754a0ae22210238e4e6555e7428f (diff) | |
download | qemu-176498ab57dc14a7c14a58b490aa16319f0cf638.zip |
scripts/ci/gitlab-pipeline-status: use more descriptive exceptions
For two very different error conditions.
Signed-off-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20200904164258.240278-7-crosa@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'scripts/ci')
-rwxr-xr-x | scripts/ci/gitlab-pipeline-status | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/scripts/ci/gitlab-pipeline-status b/scripts/ci/gitlab-pipeline-status index ced488f27c..628150ce0b 100755 --- a/scripts/ci/gitlab-pipeline-status +++ b/scripts/ci/gitlab-pipeline-status @@ -23,6 +23,14 @@ import time import sys +class CommunicationFailure(Exception): + """Failed to communicate to gitlab.com APIs.""" + + +class NoPipelineFound(Exception): + """Communication is successfull but pipeline is not found.""" + + def get_local_branch_commit(branch='staging'): """ Returns the commit sha1 for the *local* branch named "staging" @@ -50,14 +58,14 @@ def get_pipeline_status(project_id, commit_sha1): connection.request('GET', url=url) response = connection.getresponse() if response.code != http.HTTPStatus.OK: - raise ValueError("Failed to receive a successful response") + raise CommunicationFailure("Failed to receive a successful response") json_response = json.loads(response.read()) # As far as I can tell, there should be only one pipeline for the same # project + commit. If this assumption is false, we can add further # filters to the url, such as username, and order_by. if not json_response: - raise ValueError("No pipeline found") + raise NoPipelineFound("No pipeline found") return json_response[0] |