cbuildbot: copy DLC images from local host to release gs bucket
This CL copies DLC images in Archive stage in steps below:
1. Copies dlc folder (contains all DLC images) from
src/build/images/eve-arcnext/ to
trybot_archive/eve-arcnext-release/.
2. Pushes dlc folder from trybot_archive/eve-arcnext-release/ to
gs://chromeos-image-archive/eve-arcnext-release/.
3. Pushes dlc folder from gs://chromeos-image-archive/eve-arcnext-release/ to
gs://chromeos-releases/dev-channel/eve-arcnext.
After this CL, 'dlc' folder (contains all DLC images) is present at
gs://chromeos-releases/dev-channel/eve-arcnext as inputs to PaygenBuild stage to
generate payloads and save them in place.
BUG=chromium:926045
TEST=unittest, tryjob
Change-Id: Iff7f196992354290540d66c49f41d35b9cc843b6
Reviewed-on: https://chromium-review.googlesource.com/1515434
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Xiaochu Liu <xiaochu@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/scripts/pushimage.py b/scripts/pushimage.py
index 26e8d89..a0aec2b 100644
--- a/scripts/pushimage.py
+++ b/scripts/pushimage.py
@@ -414,8 +414,9 @@
('image.zip', _ImageNameBase(), 'zip'),
(constants.TEST_IMAGE_TAR, test_basename, 'tar.xz'),
('debug.tgz', 'debug-%s' % boardpath, 'tgz'),
- (hwqual_tarball, '', ''),
- ('stateful.tgz', '', ''),
+ (hwqual_tarball, None, None),
+ ('stateful.tgz', None, None),
+ ('dlc', None, None),
)
# The following build artifacts, if present, are always copied.
@@ -450,15 +451,16 @@
constants.IMAGE_TYPE_BASE),
)
- def _CopyFileToGS(src, dst, suffix):
+ def _CopyFileToGS(src, dst=None, suffix=None):
"""Returns |dst| file name if the copying was successful."""
- if not dst:
+ if dst is None:
dst = src
- elif suffix:
+ elif suffix is not None:
dst = '%s.%s' % (dst, suffix)
success = False
try:
- ctx.Copy(os.path.join(src_path, src), os.path.join(dst_path, dst))
+ ctx.Copy(os.path.join(src_path, src), os.path.join(dst_path, dst),
+ recursive=True)
success = True
except gs.GSNoSuchKey:
logging.warning('Skipping %s as it does not exist', src)