浏览代码

Reland "Reland "bot_update: remove cleanup_dir""

This reverts commit 9801061b06912b2d8b07fa1b3c67c92e01e93261.

Reason for revert:
disk_usage returns tuple  (used_disk_space_gb, total_disk_space_gb, percent_used)

so used_disk_space_gb is [0]
and percent_used is [2]

Original change's description:
> Revert "Reland "bot_update: remove cleanup_dir""
>
> This reverts commit 6cbd7a824340c50ef1aa5cdddf94e14114ade41f.
>
> Reason for revert: breaks checkouts with
>
> ```
> 'tuple' object has no attribute 'used_disk_space_gb'
> ```
>
> e.g. https://ci.chromium.org/ui/p/infra/builders/try/luci-go-try-mac/b8726181266341916785/overview
>
> Original change's description:
> > Reland "bot_update: remove cleanup_dir"
> >
> > This reverts commit e59e28f1d78ce7c9646ccd9e26b977743f99bfbb.
> >
> > Reason for revert: Fix up the issue line
> >
> > Original change's description:
> > > Revert "bot_update: remove cleanup_dir"
> > >
> > > This reverts commit 4cebc13a4e48340166be4c20416d22723add0e07.
> > >
> > > Reason for revert: this breaks Dart's builds
> > > https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/dart2js-unit-linux-x64-release/27481/infra
> > >
> > > Original change's description:
> > > > bot_update: remove cleanup_dir
> > > >
> > > > when git cache is removed, gclient sync fails
> > > > and old checkout is moved into cleanup_dir.
> > > >
> > > > It will cause out of disk error during build
> > > > because cleanup_dir keeps full old checkout and build artifacts,
> > > > which is no longer needed when bot_update
> > > > succeeded to checkout.
> > > >
> > > > Remove cleanup_dir after checkout.
> > > >
> > > > Bug: 388307198
> > > > Change-Id: I3858e718622a1ef2012fe5b80a5d9b128d96d1d4
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6155955
> > > > Commit-Queue: Jie Sheng <jiesheng@google.com>
> > > > Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
> > > > Auto-Submit: Fumitoshi Ukai <ukai@google.com>
> > > > Owners-Override: Jie Sheng <jiesheng@google.com>
> > > > Reviewed-by: Junji Watanabe <jwata@google.com>
> > > > Reviewed-by: Jie Sheng <jiesheng@google.com>
> > >
> > > Bug: 388307198
> > > Change-Id: Ifb68c1aaf28e2203ba2c3b5804c2fd4939bbd921
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6159604
> > > Auto-Submit: Alexander Thomas <athom@google.com>
> > > Reviewed-by: Jie Sheng <jiesheng@google.com>
> > > Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
> > > Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
> >
> > Bug: 388307198
> > Change-Id: I1c6d922c357943882110233f84111a4cbfb9e7d4
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6158861
> > Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
> > Auto-Submit: Jie Sheng <jiesheng@google.com>
> > Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
>
> Bug: 388307198
> Change-Id: Ia49e544ca44593e6b9da923a075fb30f3e08b704
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6166120
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
> Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
> Auto-Submit: Vadim Shtayura <vadimsh@chromium.org>

Bug: 388307198
Change-Id: I32473c5285f79875b95ece383d39e3e90aa33c41
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6166240
Commit-Queue: Gavin Mak <gavinmak@google.com>
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Fumitoshi Ukai 7 月之前
父节点
当前提交
67acd2b92d
共有 1 个文件被更改,包括 10 次插入1 次删除
  1. 10 1
      recipes/recipe_modules/bot_update/resources/bot_update.py

+ 10 - 1
recipes/recipe_modules/bot_update/resources/bot_update.py

@@ -16,6 +16,7 @@ import optparse
 import os
 import pprint
 import re
+import shutil
 import subprocess
 import sys
 import tempfile
@@ -1142,7 +1143,15 @@ def checkout(options, git_slns, specs, revisions, step_text):
   properties['git_cache_epoch'] = cache_epoch
 
   usage = disk_usage()
-  # TODO(ukai): remove cleanup_dir if available disk space is small?
+  # successfully checked out. remove cleanup_dir to get free disk space.
+  if os.path.exists(options.cleanup_dir):
+    prev_usage = usage
+    print('Removing cleanup_dir %s' % options.cleanup_dir)
+    shutil.rmtree(options.cleanup_dir, ignore_errors=True)
+    usage = disk_usage()
+    print('Release %dGB (%d%%)' %
+          (prev_usage[0] - usage[0], prev_usage[2] - usage[2]))
+
   step_text = step_text + (' -> [%dGB/%dGB used (%d%%)]' % usage)
 
   # Tell recipes information such as root, got_revision, etc.