artifacts: Die gracefully if artifacts don't exist
TEST=./run_tests
BUG=chromium:949566
Change-Id: I79a3ddbf8bfa9a632c902437328c88390fc64a4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1559659
Tested-by: Evan Hernandez <evanhernandez@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
diff --git a/api/controller/artifacts.py b/api/controller/artifacts.py
index 6af122c..aabd513 100644
--- a/api/controller/artifacts.py
+++ b/api/controller/artifacts.py
@@ -132,6 +132,11 @@
# TODO(saklein): Replace with a chromite/service implementation.
archive = commands.BuildTastBundleTarball(build_root, cwd, output_dir)
+ if archive is None:
+ cros_build_lib.Die(
+ 'Could not bundle Tast files. '
+ 'No Tast directories found for %s.', target)
+
output_proto.artifacts.add().path = archive
@@ -150,6 +155,11 @@
archive = commands.BuildPinnedGuestImagesTarball(build_root, target,
output_dir)
+ if archive is None:
+ cros_build_lib.Die(
+ 'Could not bundle pinned guest images. '
+ 'No relevant files found for %s.', target)
+
output_proto.artifacts.add().path = os.path.join(output_dir, archive)
@@ -167,6 +177,10 @@
# TODO(saklein): Replace with a chromite/service implementation.
archive = commands.BuildFirmwareArchive(build_root, target, output_dir)
+ if archive is None:
+ cros_build_lib.Die(
+ 'Could not create firmware archive. No firmware found for %s.', target)
+
output_proto.artifacts.add().path = os.path.join(output_dir, archive)
@@ -187,4 +201,8 @@
# TODO(saklein): Replace with a chromite/service implementation.
archive = commands.BuildEbuildLogsTarball(build_root, target, output_dir)
+ if archive is None:
+ cros_build_lib.Die(
+ 'Could not create ebuild logs archive. No logs found for %s.', target)
+
output_proto.artifacts.add().path = os.path.join(output_dir, archive)