summaryrefslogtreecommitdiff
path: root/buildbot
diff options
context:
space:
mode:
authorDon Garrett <dgarrett@chromium.org>2014-05-16 04:04:53 +0000
committerDon Garrett <dgarrett@chromium.org>2014-05-16 16:56:20 +0000
commitdacd1fc3a06349bc07e1deba43b9e4ddf4e3139a (patch)
treef492c6909d635609e3292db6fba4a571f5a0fff6 /buildbot
parentf7749f0d61a097002510ae6271ff75fa6525d628 (diff)
downloadchromite-dacd1fc3a06349bc07e1deba43b9e4ddf4e3139a.tar.gz
Revert "Fail builds on Paygen failures."
This reverts commit f7749f0d61a097002510ae6271ff75fa6525d628. Change-Id: Ic85a338325a7cc987ddc149d467bf5e398607efd Reviewed-on: https://chromium-review.googlesource.com/200202 Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Don Garrett <dgarrett@chromium.org> Tested-by: Don Garrett <dgarrett@chromium.org>
Diffstat (limited to 'buildbot')
-rw-r--r--buildbot/cbuildbot_stages.py22
1 files changed, 12 insertions, 10 deletions
diff --git a/buildbot/cbuildbot_stages.py b/buildbot/cbuildbot_stages.py
index 6167e18b9..18d701746 100644
--- a/buildbot/cbuildbot_stages.py
+++ b/buildbot/cbuildbot_stages.py
@@ -63,10 +63,6 @@ class PaygenSigningRequirementsError(Exception):
"""Paygen stage can't run if signing failed."""
-class PaygenCrostoolsNotAvailableError(Exception):
- """Paygen stage can't run if signing failed."""
-
-
class PaygenStage(artifact_stages.ArchivingStage):
"""Stage that generates release payloads.
@@ -106,6 +102,16 @@ class PaygenStage(artifact_stages.ArchivingStage):
self.signing_results = {}
self.channels = channels
+ def _HandleStageException(self, exc_info):
+ """Override and don't set status to FAIL but FORGIVEN instead."""
+ exc_type = exc_info[0]
+
+ # TODO(dgarrett): Constrain this to only expected exceptions.
+ if issubclass(exc_type, Exception):
+ return self._HandleExceptionAsWarning(exc_info)
+
+ return super(PaygenStage, self)._HandleStageException(exc_info)
+
def _JsonFromUrl(self, gs_ctx, url):
"""Fetch a GS Url, and parse it as Json.
@@ -313,12 +319,8 @@ class PaygenStage(artifact_stages.ArchivingStage):
# These modules are imported here because they aren't always available at
# cbuildbot startup.
# pylint: disable=F0401
- try:
- from crostools.lib import gspaths
- from crostools.lib import paygen_build_lib
- except ImportError:
- # We can't generate payloads without crostools.
- raise PaygenCrostoolsNotAvailableError()
+ from crostools.lib import gspaths
+ from crostools.lib import paygen_build_lib
# Convert to release tools naming for channels.
if not channel.endswith('-channel'):