Bug 1302152 - Make forced artifact builds on buildbot trigger test jobs; r?jlund draft
authorMaja Frydrychowicz <mjzffr@gmail.com>
Wed, 28 Sep 2016 16:10:46 -0400
changeset 419669 cd260c799ce5f981e2c09ae81086a6d174e0d1c0
parent 419507 5ffed033557e5b6f9694123f1948f867f913ede3
child 532630 a79926a6535ad9ca1e05c9fd9e5d84bdf0052869
push id30992
push usermjzffr@gmail.com
push dateFri, 30 Sep 2016 19:34:20 +0000
reviewersjlund
bugs1302152
milestone52.0a1
Bug 1302152 - Make forced artifact builds on buildbot trigger test jobs; r?jlund MozReview-Commit-ID: IANN4FwYklC
testing/mozharness/configs/builds/releng_sub_linux_configs/32_artifact.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py
testing/mozharness/configs/builds/releng_sub_mac_configs/64_artifact.py
testing/mozharness/configs/builds/releng_sub_windows_configs/32_artifact.py
testing/mozharness/configs/builds/releng_sub_windows_configs/64_artifact.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/32_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_artifact.py
@@ -10,32 +10,34 @@ config = {
 
     # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks
     'default_actions': [
         'clobber',
         'clone-tools',
         'checkout-sources',
         'setup-mock',
         'build',
+        'sendchange',
     ],
     "buildbot_json_path": "buildprops.json",
     'exes': {
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': False,
     'enable_ccache': True,
     'vcs_share_base': '/builds/hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': ["/builds/tooltool.py"],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': True,
     'enable_talos_sendchange': False,
-    'enable_unittest_sendchange': False,
+    # allows triggering of test jobs when --artifact try syntax is detected on buildbot
+    'enable_unittest_sendchange': True,
     #########################################################################
 
 
     #########################################################################
     ###### 32 bit specific ######
     'base_name': 'Linux_%(branch)s_Artifact_build',
     'platform': 'linux',
     'stage_platform': 'linux',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py
@@ -3,33 +3,35 @@ import os
 config = {
     # note: overridden by MOZHARNESS_ACTIONS in TaskCluster tasks
     'default_actions': [
         'clobber',
         'clone-tools',
         'checkout-sources',
         'setup-mock',
         'build',
+        'sendchange',
         # 'generate-build-stats',
     ],
     "buildbot_json_path": "buildprops.json",
     'exes': {
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': False,
     'enable_ccache': True,
     'vcs_share_base': '/builds/hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': ["/builds/tooltool.py"],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': True,
     'enable_talos_sendchange': False,
-    'enable_unittest_sendchange': False,
+    # allows triggering of test jobs when --artifact try syntax is detected on buildbot
+    'enable_unittest_sendchange': True,
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'Linux_x86-64_%(branch)s_Artifact_build',
     'platform': 'linux64',
     'stage_platform': 'linux64',
--- a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_artifact.py
@@ -6,33 +6,35 @@ config = {
     ######## MACOSX GENERIC CONFIG KEYS/VAlUES
 
     'default_actions': [
         'clobber',
         'clone-tools',
         # 'setup-mock',
         'checkout-sources',
         'build',
+        'sendchange',
     ],
     "buildbot_json_path": "buildprops.json",
     'exes': {
         'python2.7': sys.executable,
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': False,
     'enable_ccache': True,
     'vcs_share_base': '/builds/hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': ["/builds/tooltool.py"],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': False,
     'enable_talos_sendchange': False,
-    'enable_unittest_sendchange': False,
+    # allows triggering of test jobs when --artifact try syntax is detected on buildbot
+    'enable_unittest_sendchange': True,
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'OS X 10.7 %(branch)s_Artifact_build',
     'platform': 'macosx64',
     'stage_platform': 'macosx64',
--- a/testing/mozharness/configs/builds/releng_sub_windows_configs/32_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_artifact.py
@@ -10,16 +10,17 @@ config = {
     # releng_base_windows_32_builds.py
 
     'default_actions': [
         'clobber',
         'clone-tools',
         'checkout-sources',
         # 'setup-mock', windows do not use mock
         'build',
+        'sendchange',
     ],
     "buildbot_json_path": "buildprops.json",
     'exes': {
         'python2.7': sys.executable,
         "buildbot": [
             sys.executable,
             'c:\\mozilla-build\\buildbotve\\scripts\\buildbot'
         ],
@@ -40,17 +41,18 @@ config = {
     'enable_ccache': False,
     'vcs_share_base': 'C:/builds/hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': [sys.executable,
                         'C:/mozilla-build/tooltool.py'],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': False,
     'enable_talos_sendchange': False,
-    'enable_unittest_sendchange': False,
+    # allows triggering of test jobs when --artifact try syntax is detected on buildbot
+    'enable_unittest_sendchange': True,
     'max_build_output_timeout': 60 * 80,
     #########################################################################
 
 
      #########################################################################
      ###### 32 bit specific ######
     'base_name': 'WINNT_5.2_%(branch)s_Artifact_build',
     'platform': 'win32',
--- a/testing/mozharness/configs/builds/releng_sub_windows_configs/64_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_artifact.py
@@ -10,16 +10,17 @@ config = {
     # releng_base_windows_64_builds.py
 
     'default_actions': [
         'clobber',
         'clone-tools',
         'checkout-sources',
         # 'setup-mock', windows do not use mock
         'build',
+        'sendchange',
     ],
     "buildbot_json_path": "buildprops.json",
     'exes': {
         'python2.7': sys.executable,
         "buildbot": [
             sys.executable,
             'c:\\mozilla-build\\buildbotve\\scripts\\buildbot'
         ],
@@ -40,17 +41,18 @@ config = {
     'enable_ccache': False,
     'vcs_share_base': 'C:/builds/hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': [sys.executable,
                         'C:/mozilla-build/tooltool.py'],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': False,
     'enable_talos_sendchange': False,
-    'enable_unittest_sendchange': False,
+    # allows triggering of test jobs when --artifact try syntax is detected on buildbot
+    'enable_unittest_sendchange': True,
     'max_build_output_timeout': 60 * 80,
     #########################################################################
 
 
      #########################################################################
      ###### 64 bit specific ######
     'base_name': 'WINNT_6.1_x86-64_%(branch)s_Artifact_build',
     'platform': 'win64',
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -1946,16 +1946,20 @@ or run without that action (ie: --no-{ac
             self.build_metrics_summary):
             perfherder_data["suites"].append(self.build_metrics_summary)
 
         if perfherder_data["suites"]:
             self.info('PERFHERDER_DATA: %s' % json.dumps(perfherder_data))
 
 
     def sendchange(self):
+        if os.environ.get('TASK_ID'):
+            self.info("We are not running this in buildbot; skipping")
+            return
+
         if self.config.get('enable_talos_sendchange'):
             self._do_sendchange('talos')
         else:
             self.info("'enable_talos_sendchange' is false; skipping")
 
         if self.config.get('enable_unittest_sendchange'):
             self._do_sendchange('unittest')
         else: