From 365d4b0cc8b21204e6e093bf910d53d3673f113c Mon Sep 17 00:00:00 2001 From: Chris Sosa Date: Fri, 15 Oct 2010 10:37:04 -0700 Subject: [PATCH] Fix issue with stale cache from bad builds. We always want to re-build packages we are revving, however, if the last build succeeds in building but fails tests, we have a bad local cache that has revved packages. This avoids this issue by working on all packages we are revving. Change-Id: I3bd7463a4090b1f007d09be81bdf65657bd9c3f3 BUG=7589 TEST=Ran it with cbuildbot. Review URL: http://codereview.chromium.org/3745006 --- bin/cbuildbot.py | 11 +++++++++-- cros_mark_all_as_stable | 2 ++ cros_mark_as_stable.py | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/bin/cbuildbot.py b/bin/cbuildbot.py index 37a8b6e269..f000a576c3 100755 --- a/bin/cbuildbot.py +++ b/bin/cbuildbot.py @@ -345,6 +345,14 @@ def _UprevCleanup(buildroot, error_ok=False): '--tracking_branch="cros/master"', 'clean'], cwd=cwd, error_ok=error_ok) + workon_packages = RunCommand(['./cros_workon', 'list'], + enter_chroot=True, cwd=cwd, error_ok=error_ok, + redirect_stdout=True) + if workon_packages: + Info('Cleaning up workon packages %s' % workon_packages) + RunCommand(['./cros_workon', 'stop'] + workon_packages.split(), + enter_chroot=True, cwd=cwd, error_ok=False) + def _UprevPush(buildroot): """Pushes uprev changes to the main line.""" @@ -439,7 +447,6 @@ def main(): # Master bot needs to check if the other slaves completed. if cbuildbot_comm.HaveSlavesCompleted(config): _UprevPush(buildroot) - _UprevCleanup(buildroot) else: # At least one of the slaves failed or we timed out. _UprevCleanup(buildroot) @@ -449,7 +456,7 @@ def main(): if buildconfig['important']: cbuildbot_comm.PublishStatus(cbuildbot_comm.STATUS_BUILD_COMPLETE) - _UprevCleanup(buildroot) + _UprevCleanup(buildroot) except: # Send failure to master bot. if not buildconfig['master'] and buildconfig['important']: diff --git a/cros_mark_all_as_stable b/cros_mark_all_as_stable index e85bb0f942..c01ffdcc6d 100755 --- a/cros_mark_all_as_stable +++ b/cros_mark_all_as_stable @@ -99,6 +99,8 @@ if [ -n "${PACKAGE_LIST}" ] ; then ./cros_mark_as_stable --board ${FLAGS_board} -p "${PACKAGE_LIST}" \ -i "${COMMIT_ID_LIST}" -t ${FLAGS_tracking_branch} commit || \ die "Could not mark all packages as stable" + + ./cros_workon start ${PACKAGE_LIST} else info "No candidate packages to be marked" fi diff --git a/cros_mark_as_stable.py b/cros_mark_as_stable.py index 9e5666e612..cacb6abfad 100755 --- a/cros_mark_as_stable.py +++ b/cros_mark_as_stable.py @@ -123,7 +123,8 @@ def _PrintUsageAndDie(error_message=''): command_usage += ' %s: %s\n' % (command, _COMMAND_DICTIONARY[command]) commands_str = '|'.join(commands) Warning('Usage: %s FLAGS [%s]\n\n%s\nFlags:%s' % (sys.argv[0], commands_str, - command_usage, gflags.FLAGS)) + command_usage, + gflags.FLAGS)) if error_message: Die(error_message) else: