Bug 1055918 - mozharness mach desktop build fixes for nonunified, try upload, and check test, r=mgerva
authorJordan Lund <jlund@mozilla.com>
Wed, 05 Nov 2014 13:37:36 -0800 (2014-11-05)
changeset 3350 1c6f07983bb239c82cc759bb5eb28094ca414ef3
parent 3348 29c32c056cdf14aa7cdff7f34b8f8588175eba99
child 3352 0a2b30f409c856c878012afd93e944a93349f542
push id2579
push userjlund@mozilla.com
push dateWed, 05 Nov 2014 21:38:40 +0000 (2014-11-05)
reviewersmgerva
bugs1055918
Bug 1055918 - mozharness mach desktop build fixes for nonunified, try upload, and check test, r=mgerva
mozharness/mozilla/building/buildbase.py
scripts/fx_desktop_build.py
--- a/mozharness/mozilla/building/buildbase.py
+++ b/mozharness/mozilla/building/buildbase.py
@@ -760,17 +760,17 @@ or run without that action (ie: --no-{ac
 
         # we can't make env an attribute of self because env can change on
         # every call for reasons like MOZ_SIGN_CMD
         return env
 
     def query_mach_build_env(self):
         c = self.config
         mach_env = {}
-        if c.get('upload_env') and c.get('branch_supports_uploadsymbols'):
+        if c.get('upload_env'):
             mach_env.update(c['upload_env'])
             mach_env['UPLOAD_HOST'] = mach_env['UPLOAD_HOST'] % {
                 'stage_server': c['stage_server']
             }
             mach_env['UPLOAD_USER'] = mach_env['UPLOAD_USER'] % {
                 'stage_username': c['stage_username']
             }
             mach_env['UPLOAD_SSH_KEY'] = mach_env['UPLOAD_SSH_KEY'] % {
@@ -1426,21 +1426,28 @@ or run without that action (ie: --no-{ac
                                        'pymake', 'make.py')
             cmd = ['python', pymake_path]
         else:
             cmd = ['make']
         cmd.extend(['-k', 'check'])
 
         parser = CheckTestCompleteParser(config=c,
                                          log_obj=self.log_obj)
-        self.run_command_m(command=cmd,
-                           cwd=dirs['abs_obj_dir'],
-                           env=env,
-                           output_parser=parser)
+        return_code = self.run_command_m(command=cmd,
+                                         cwd=dirs['abs_obj_dir'],
+                                         env=env,
+                                         output_parser=parser)
         parser.evaluate_parser()
+        if return_code:
+            self.return_code = self.worst_level(
+                EXIT_STATUS_DICT[TBPL_WARNING], self.return_code,
+                AUTOMATION_EXIT_CODES[::-1]
+            )
+            self.error("'make -k check' did not run successfully. Please check "
+                       "log for errors.")
 
     def generate_build_stats(self):
         """grab build stats following a compile.
 
         This action handles all statitics from a build: 'count_ctors' and
         'vsize' and then posts to graph server the results.
         We only post to graph server for non nightly build
         """
--- a/scripts/fx_desktop_build.py
+++ b/scripts/fx_desktop_build.py
@@ -59,17 +59,16 @@ class FxDesktopBuild(BuildScript, object
                     "%(objdir)s/dist/fennec*",
                     "%(objdir)s/dist/seamonkey*",
                     "%(objdir)s/dist/thunderbird*",
                     "%(objdir)s/dist/install/sea/*.exe"
                 ],
                 'stage_product': 'firefox',
                 'platform_supports_post_upload_to_latest': True,
                 'use_branch_in_symbols_extra_buildid': True,
-                'branch_supports_uploadsymbols': True,
                 'latest_mar_dir': '/pub/mozilla.org/firefox/nightly/latest-%(branch)s',
 
                 # try will overwrite these
                 'clone_with_purge': False,
                 'clone_by_revision': False,
                 'tinderbox_build_dir': None,
                 'to_tinderbox_dated': True,
                 'release_to_try_builds': False,
@@ -92,17 +91,19 @@ class FxDesktopBuild(BuildScript, object
             self.info("We are running this in buildbot, grab the build props")
             self.read_buildbot_config()
             ###
             if c.get('stage_platform'):
                 platform_for_log_url = c['stage_platform']
                 if c.get('pgo_build'):
                     platform_for_log_url += '-pgo'
                 # postrun.py uses stage_platform buildbot prop as part of the log url
-                self.set_buildbot_property('stage_platform', platform_for_log_url)
+                self.set_buildbot_property('stage_platform',
+                                           platform_for_log_url,
+                                           write_to_file=True)
             else:
                 self.fatal("'stage_platform' not determined and is required in your config")
 
 
     # helpers
 
     def query_abs_dirs(self):
         if self.abs_dirs: