bug 510587 (create a cold startup ts) p=anodelman, r=catlee
authorAlice Nodelman <alice@mozilla.com>
Fri, 16 Oct 2009 09:14:09 -0700
changeset 1627 846b7d3c71f4dbede266e13e9d85d06e3629da84
parent 1626 c0c9e9e675c0e4196f1ef35485549dbca4f926c7
child 1628 d1d9fdedcd9a87175822f219ef8d2b0db8af2f4c
push id1
push userroot
push dateWed, 17 Dec 2014 00:18:48 +0000
reviewerscatlee
bugs510587
bug 510587 (create a cold startup ts) p=anodelman, r=catlee
talos-pool/config.py
talos-pool/master.cfg
talos-staging-pool/config.py
talos-staging-pool/master.cfg
talos-try/config.py
talos-try/master.cfg
--- a/talos-pool/config.py
+++ b/talos-pool/config.py
@@ -8,16 +8,18 @@ TALOS_NOCHROME_CONFIG_OPTIONS = GRAPH_CO
 
 TALOS_JSS_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'tjss']
 
 TALOS_DIRTY_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'ts:ts_places_generated_min:ts_places_generated_med:ts_places_generated_max']
 TALOS_DIRTY_ADDONS = ['/builds/buildbot/profiles/dirtyDBs.zip', '/builds/buildbot/profiles/dirtyMaxDBs.zip']
 
 TALOS_TP4_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'tp4']
 
+TALOS_COLD_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'ts:ts_cold']
+
 TALOS_CMD = ['python', 'run_tests.py', '--noisy', WithProperties('%(configFile)s')]
 
 SLAVES = {
     'linux': ["talos-rev2-linux%02i" % x for x in range(1,21)],
     'xp': ["talos-rev2-xp%02i" % x for x in range(1,25)],
     'vista': ["talos-rev2-vista%02i" % x for x in range(1,21)],
     'tiger': ["talos-rev2-tiger%02i" % x for x in range(1,21)],
     'leopard': ["talos-rev2-leopard%02i" % x for x in range(1,21)],
@@ -51,29 +53,31 @@ PLATFORMS['win32']['vista'] = {'name': "
 PLATFORMS['linux']['slave_platforms'] = ['linux']
 PLATFORMS['linux']['env_name'] = 'linux-perf'
 PLATFORMS['linux']['linux'] = {'name': "Linux"}
 
 ALL_PLATFORMS = PLATFORMS['linux']['slave_platforms'] + \
                 PLATFORMS['win32']['slave_platforms'] + \
                 PLATFORMS['macosx']['slave_platforms']
 NO_TIGER = PLATFORMS['linux']['slave_platforms'] + PLATFORMS['win32']['slave_platforms'] + ['leopard']
-
+NO_WIN = PLATFORMS['linux']['slave_platforms'] + PLATFORMS['macosx']['slave_platforms']
+NO_TIGER_NO_WIN = PLATFORMS['linux']['slave_platforms'] + ['leopard']
 
 ######## mozilla-1.9.0
 BRANCHES['mozilla-1.9.0']['branch_name'] = "Firefox3.0"
 BRANCHES['mozilla-1.9.0']['build_branch'] = "1.9.0"
 BRANCHES['mozilla-1.9.0']['fetch_symbols'] = False
 # How many chrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.0']['chrome_tests'] = (1,True, [], ALL_PLATFORMS)
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.0']['nochrome_tests'] = (1,True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.0']['jss_tests'] = (0,True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.0']['tp4_tests'] = (0,True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.0']['dirty_tests'] = (0, True, TALOS_DIRTY_ADDONS, ALL_PLATFORMS)
+BRANCHES['mozilla-1.9.0']['cold_tests'] = (0,True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.0']['ftp_urls'] = {
     'win32': [
         "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/FX-WIN32-TBOX-mozilla1.9.0/",
         "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.9.0/",
         ],
     'linux': [
         "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/fx-linux-tbox-mozilla1.9.0/",
         "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.9.0/",
@@ -98,68 +102,74 @@ BRANCHES['mozilla-central']['chrome_test
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-central']['nochrome_tests'] = (1,True, [], NO_TIGER)
 # How many jss tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-central']['jss_tests'] = (1,True, [], NO_TIGER)
 # How many dirty ts tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-central']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, NO_TIGER)
 # How many tp4 tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-central']['tp4_tests'] = (1,True, [], NO_TIGER)
+BRANCHES['mozilla-central']['cold_tests'] = (1, True, [], NO_TIGER_NO_WIN)
 
 ######## mozilla-1.9.1
 BRANCHES['mozilla-1.9.1']['branch_name'] = "Firefox3.5"
 BRANCHES['mozilla-1.9.1']['build_branch'] = "1.9.1"
 BRANCHES['mozilla-1.9.1']['fetch_symbols'] = True
 # How many chrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.1']['chrome_tests'] = (1,True, [], ALL_PLATFORMS)
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.1']['nochrome_tests'] = (1,True, [], ALL_PLATFORMS)
 # How many jss tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.1']['jss_tests'] = (1,True, [], ALL_PLATFORMS)
 # How many dirty ts tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.1']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, ALL_PLATFORMS)
 # How many tp4 tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.1']['tp4_tests'] = (1,True, [], ALL_PLATFORMS)
+BRANCHES['mozilla-1.9.1']['cold_tests'] = (1, True, [], NO_WIN)
 
 ######## mozilla-1.9.2
 BRANCHES['mozilla-1.9.2']['branch_name'] = "Firefox3.6"
 BRANCHES['mozilla-1.9.2']['build_branch'] = "1.9.2"
 BRANCHES['mozilla-1.9.2']['fetch_symbols'] = True
 # How many chrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.2']['chrome_tests'] = (1,True, [], ALL_PLATFORMS)
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.2']['nochrome_tests'] = (1,True, [], ALL_PLATFORMS)
 # How many jss tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.2']['jss_tests'] = (1,True, [], ALL_PLATFORMS)
 # How many dirty ts tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.2']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, ALL_PLATFORMS)
 # How many tp4 tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.2']['tp4_tests'] = (1,True, [], ALL_PLATFORMS)
+BRANCHES['mozilla-1.9.2']['cold_tests'] = (1, True, [], NO_WIN)
 
 ######## tracemonkey
 BRANCHES['tracemonkey']['branch_name'] = "TraceMonkey"
 BRANCHES['tracemonkey']['build_branch'] = "TraceMonkey"
 BRANCHES['tracemonkey']['fetch_symbols'] = True
 # How many chrome tests per build to run, and whether to merge build requests
 BRANCHES['tracemonkey']['chrome_tests'] = (1,True, [], NO_TIGER)
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['tracemonkey']['nochrome_tests'] = (1,True, [], NO_TIGER)
 # How many jss tests per build to run, and whether to merge build requests
 BRANCHES['tracemonkey']['jss_tests'] = (1,True, [], NO_TIGER)
 # How many dirty ts tests per build to run, and whether to merge build requests
 BRANCHES['tracemonkey']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, NO_TIGER)
 # How many tp4 tests per build to run, and whether to merge build requests
 BRANCHES['tracemonkey']['tp4_tests'] = (1,True, [], NO_TIGER)
+BRANCHES['tracemonkey']['cold_tests'] = (1, True, [], NO_TIGER_NO_WIN)
 
 ######## places
 BRANCHES['places']['branch_name'] = "Places"
 BRANCHES['places']['build_branch'] = "Places"
 BRANCHES['places']['fetch_symbols'] = True
 # How many chrome tests per build to run, and whether to merge build requests
 BRANCHES['places']['chrome_tests'] = (1,True, [], NO_TIGER)
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['places']['nochrome_tests'] = (0,True, [], NO_TIGER)
 # How many jss tests per build to run, and whether to merge build requests
 BRANCHES['places']['jss_tests'] = (1,True, [], NO_TIGER)
 # How many dirty ts tests per build to run, and whether to merge build requests
 BRANCHES['places']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, NO_TIGER)
 # How many tp4 tests per build to run, and whether to merge build requests
 BRANCHES['places']['tp4_tests'] = (1,True, [], NO_TIGER)
+BRANCHES['places']['cold_tests'] = (1, True, [], NO_TIGER_NO_WIN)
+
--- a/talos-pool/master.cfg
+++ b/talos-pool/master.cfg
@@ -100,16 +100,17 @@ for branch, branch_config in BRANCHES.it
     buildBranch = branch_config['build_branch']
     branch_builders = []
     for platform, platform_config in PLATFORMS.items():
         chrome_tests, chrome_merge, chrome_addon, chrome_platforms = branch_config['chrome_tests']
         nochrome_tests, nochrome_merge, nochrome_addon, nochrome_platforms = branch_config['nochrome_tests']
         jss_tests, jss_merge, jss_addon, jss_platforms = branch_config['jss_tests']
         dirty_tests, dirty_merge, dirty_addon, dirty_platforms = branch_config['dirty_tests']
         tp4_tests, tp4_merge, tp4_addon, tp4_platforms = branch_config['tp4_tests']
+        cold_tests, cold_merge, cold_addon, cold_platforms = branch_config['cold_tests']
 
         for slave_platform in platform_config['slave_platforms']:
             if chrome_tests and slave_platform in chrome_platforms:
                 factory = TalosFactory(
                     OS=slave_platform,
                     toolsDir="tools",
                     envName=platform_config['env_name'],
                     workdirBase="../talos-data",
@@ -281,16 +282,53 @@ for branch, branch_config in BRANCHES.it
                               treeStableTimer=0,
                               builderNames=[builder['name']],
                               numberOfBuildsToTrigger=tp4_tests,
                               )
                 c['schedulers'].append(s)
                 c['builders'].append(builder)
                 branch_builders.append(builder['name'])
 
+            if cold_tests and slave_platform in cold_platforms:
+                cold_factory = TalosFactory(
+                    OS=slave_platform,
+                    toolsDir="tools",
+                    envName=platform_config['env_name'],
+                    workdirBase="../talos-data",
+                    buildBranch=buildBranch,
+                    branchName=branchName,
+                    configOptions=TALOS_COLD_CONFIG_OPTIONS,
+                    talosCmd=TALOS_CMD,
+                    fetchSymbols=branch_config['fetch_symbols'],
+                    plugins='',
+                    pageset='',
+                )
+                platform_name = platform_config[slave_platform]['name']
+                builder = {
+                    'name': "%s %s talos cold" % (platform_name, branch),
+                    'slavenames': SLAVES[slave_platform],
+                    'builddir': "%s-%s-cold" % (branch, slave_platform),
+                    'factory': cold_factory,
+                    'category': branch,
+                }
+                if cold_merge:
+                    scheduler_class = MultiScheduler
+                else:
+                    scheduler_class = NoMergeMultiScheduler
+                s = scheduler_class(name='%s %s cold scheduler' % (branch, slave_platform),
+                              branch='%s-%s' % (branch, platform),
+                              treeStableTimer=0,
+                              builderNames=[builder['name']],
+                              numberOfBuildsToTrigger=cold_tests,
+                              )
+                c['schedulers'].append(s)
+                c['builders'].append(builder)
+                branch_builders.append(builder['name'])
+
     c['status'].append(tinderbox.TinderboxMailNotifier(
                            fromaddr="talos.buildbot@build.mozilla.org",
                            tree=branchName,
                            extraRecipients=["tinderbox-daemon@tinderbox.mozilla.org",],
                            relayhost="smtp.mozilla.org",
                            builders=branch_builders,
                            useChangeTime=False,
                            logCompression="bzip2"))
+
--- a/talos-staging-pool/config.py
+++ b/talos-staging-pool/config.py
@@ -5,18 +5,19 @@ TALOS_CONFIG_OPTIONS = GRAPH_CONFIG + ['
 
 TALOS_NOCHROME_CONFIG_OPTIONS = GRAPH_CONFIG + TALOS_CONFIG_OPTIONS + ['--noChrome']
 
 TALOS_JSS_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'tjss']
 
 TALOS_DIRTY_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'ts:ts_places_generated_min:ts_places_generated_med:ts_places_generated_max']
 TALOS_DIRTY_ADDONS = ['/builds/buildbot/profiles/dirtyDBs.zip', '/builds/buildbot/profiles/dirtyMaxDBs.zip']
 
+TALOS_TP4_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'tp4']
 
-TALOS_TP4_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'tp4']
+TALOS_COLD_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'ts:ts_cold']
 
 TALOS_CMD = ['python', 'run_tests.py', '--noisy', WithProperties('%(configFile)s')]
 
 SLAVES = {
     'linux': ["talos-rev1-linux%02i" % x for x in range(1,5)],
     'xp': ["talos-rev1-xp%02i" % x for x in range(1,5)],
     'vista': ["talos-rev1-vista%02i" % x for x in range(1,5)],
     'tiger': ["talos-rev1-tiger%02i" % x for x in range(1,5)],
@@ -51,29 +52,32 @@ PLATFORMS['win32']['vista'] = {'name': "
 PLATFORMS['linux']['slave_platforms'] = ['linux']
 PLATFORMS['linux']['env_name'] = 'linux-perf'
 PLATFORMS['linux']['linux'] = {'name': "Linux"}
 
 ALL_PLATFORMS = PLATFORMS['linux']['slave_platforms'] + \
                 PLATFORMS['win32']['slave_platforms'] + \
                 PLATFORMS['macosx']['slave_platforms']
 NO_TIGER = PLATFORMS['linux']['slave_platforms'] + PLATFORMS['win32']['slave_platforms'] + ['leopard']
+NO_WIN = PLATFORMS['linux']['slave_platforms'] + PLATFORMS['macosx']['slave_platforms']
+NO_TIGER_NO_WIN = PLATFORMS['linux']['slave_platforms'] + ['leopard']
 
 ######## mozilla-1.9.0
 BRANCHES['mozilla-1.9.0']['branch_name'] = "Firefox3.0"
 BRANCHES['mozilla-1.9.0']['build_branch'] = "1.9.0"
 BRANCHES['mozilla-1.9.0']['fetch_symbols'] = False
 # How many chrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.0']['chrome_tests'] = (1, True, [], ALL_PLATFORMS)
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.0']['nochrome_tests'] = (1, True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.0']['jss_tests'] = (0,True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.0']['dirty_tests'] = (0, True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.0']['tinderbox_tree'] = 'MozillaTest'
 BRANCHES['mozilla-1.9.0']['tp4_tests'] = (0,True, [], ALL_PLATFORMS)
+BRANCHES['mozilla-1.9.0']['cold_tests'] = (0,True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.0']['ftp_urls'] = {
     'win32': [
         "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/FX-WIN32-TBOX-mozilla1.9.0/",
         "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.9.0/",
         ],
     'linux': [
         "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/fx-linux-tbox-mozilla1.9.0/",
         "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.9.0/",
@@ -97,63 +101,68 @@ BRANCHES['mozilla-central']['fetch_symbo
 BRANCHES['mozilla-central']['chrome_tests'] = (1, True, [], NO_TIGER)
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-central']['nochrome_tests'] = (1, True, [], NO_TIGER)
 # How many jss tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-central']['jss_tests'] = (1, True, [], NO_TIGER)
 BRANCHES['mozilla-central']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, NO_TIGER)
 BRANCHES['mozilla-central']['tinderbox_tree'] = 'MozillaTest'
 BRANCHES['mozilla-central']['tp4_tests'] = (1, True, [], NO_TIGER)
+BRANCHES['mozilla-central']['cold_tests'] = (1, True, [], NO_TIGER_NO_WIN)
 
 ######## mozilla-1.9.1
 BRANCHES['mozilla-1.9.1']['branch_name'] = "Firefox3.5"
 BRANCHES['mozilla-1.9.1']['build_branch'] = "1.9.1"
 BRANCHES['mozilla-1.9.1']['fetch_symbols'] = True
 # How many chrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.1']['chrome_tests'] = (1, True, [], ALL_PLATFORMS)
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.1']['nochrome_tests'] = (1, True, [], ALL_PLATFORMS)
 # How many jss tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.1']['jss_tests'] = (1, True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.1']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.1']['tinderbox_tree'] = 'MozillaTest'
 BRANCHES['mozilla-1.9.1']['tp4_tests'] = (1, True, [], ALL_PLATFORMS)
+BRANCHES['mozilla-1.9.1']['cold_tests'] = (1, True, [], NO_WIN)
 
 ######## mozilla-1.9.2
 BRANCHES['mozilla-1.9.2']['branch_name'] = "Firefox3.6"
 BRANCHES['mozilla-1.9.2']['build_branch'] = "1.9.2"
 BRANCHES['mozilla-1.9.2']['fetch_symbols'] = True
 # How many chrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.2']['chrome_tests'] = (1,True, [], ALL_PLATFORMS)
 # How many nochrome tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.2']['nochrome_tests'] = (1,True, [], ALL_PLATFORMS)
 # How many jss tests per build to run, and whether to merge build requests
 BRANCHES['mozilla-1.9.2']['jss_tests'] = (1,True, [], ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.2']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, ALL_PLATFORMS)
 BRANCHES['mozilla-1.9.2']['tp4_tests'] = (1,True, [], ALL_PLATFORMS)
+BRANCHES['mozilla-1.9.2']['cold_tests'] = (1, True, [], NO_WIN)
 
 ######## tracemonkey
 BRANCHES['tracemonkey']['branch_name'] = "TraceMonkey"
 BRANCHES['tracemonkey']['build_branch'] = "TraceMonkey"
 BRANCHES['tracemonkey']['fetch_symbols'] = True
 # How many chrome tests per build to run, and whether to merge build requests
-BRANCHES['tracemonkey']['chrome_tests'] = (1, True, [], ALL_PLATFORMS)
+BRANCHES['tracemonkey']['chrome_tests'] = (1, True, [], NO_TIGER)
 # How many nochrome tests per build to run, and whether to merge build requests
-BRANCHES['tracemonkey']['nochrome_tests'] = (1, True, [], ALL_PLATFORMS)
+BRANCHES['tracemonkey']['nochrome_tests'] = (1, True, [], NO_TIGER)
 # How many jss tests per build to run, and whether to merge build requests
-BRANCHES['tracemonkey']['jss_tests'] = (1, True, [], ALL_PLATFORMS)
-BRANCHES['tracemonkey']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, ALL_PLATFORMS)
+BRANCHES['tracemonkey']['jss_tests'] = (1, True, [], NO_TIGER)
+BRANCHES['tracemonkey']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, NO_TIGER)
 BRANCHES['tracemonkey']['tinderbox_tree'] = 'MozillaTest'
-BRANCHES['tracemonkey']['tp4_tests'] = (1, True, [], ALL_PLATFORMS)
+BRANCHES['tracemonkey']['tp4_tests'] = (1, True, [], NO_TIGER)
+BRANCHES['tracemonkey']['cold_tests'] = (1, True, [], NO_TIGER_NO_WIN)
 
 ######## places
 BRANCHES['places']['branch_name'] = "Places"
 BRANCHES['places']['build_branch'] = "Places"
 BRANCHES['places']['fetch_symbols'] = True
 # How many chrome tests per build to run, and whether to merge build requests
-BRANCHES['places']['chrome_tests'] = (1, True, [], ALL_PLATFORMS)
+BRANCHES['places']['chrome_tests'] = (1, True, [], NO_TIGER)
 # How many nochrome tests per build to run, and whether to merge build requests
-BRANCHES['places']['nochrome_tests'] = (0,True, [], ALL_PLATFORMS)
+BRANCHES['places']['nochrome_tests'] = (0,True, [], NO_TIGER)
 # How many jss tests per build to run, and whether to merge build requests
-BRANCHES['places']['jss_tests'] = (1, True, [], ALL_PLATFORMS)
-BRANCHES['places']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, ALL_PLATFORMS)
+BRANCHES['places']['jss_tests'] = (1, True, [], NO_TIGER)
+BRANCHES['places']['dirty_tests'] = (1, True, TALOS_DIRTY_ADDONS, NO_TIGER)
 BRANCHES['places']['tinderbox_tree'] = 'MozillaTest'
-BRANCHES['places']['tp4_tests'] = (1, True, [], ALL_PLATFORMS)
+BRANCHES['places']['tp4_tests'] = (1, True, [], NO_TIGER)
+BRANCHES['places']['cold_tests'] = (1, True, [], NO_TIGER_NO_WIN)
--- a/talos-staging-pool/master.cfg
+++ b/talos-staging-pool/master.cfg
@@ -113,16 +113,17 @@ for branch, branch_config in BRANCHES.it
     branchName = branch_config['branch_name']
     buildBranch = branch_config['build_branch']
     for platform, platform_config in PLATFORMS.items():
         chrome_tests, chrome_merge, chrome_addon, chrome_platforms = branch_config['chrome_tests']
         nochrome_tests, nochrome_merge, nochrome_addon, nochrome_platforms = branch_config['nochrome_tests']
         jss_tests, jss_merge, jss_addon, jss_platforms = branch_config['jss_tests']
         dirty_tests, dirty_merge, dirty_addon, dirty_platforms = branch_config['dirty_tests']
         tp4_tests, tp4_merge, tp4_addon, tp4_platforms = branch_config['tp4_tests']
+        cold_tests, cold_merge, cold_addon, cold_platforms = branch_config['cold_tests']
 
         for slave_platform in platform_config['slave_platforms']:
             if chrome_tests and slave_platform in chrome_platforms:
                 factory = TalosFactory(
                     OS=slave_platform,
                     toolsDir="tools",
                     envName=platform_config['env_name'],
                     workdirBase="../talos-data",
@@ -288,8 +289,44 @@ for branch, branch_config in BRANCHES.it
                 s = scheduler_class(name='%s %s tp4 scheduler' % (branch, slave_platform),
                               branch='%s-%s' % (branch, platform),
                               treeStableTimer=0,
                               builderNames=[builder['name']],
                               numberOfBuildsToTrigger=tp4_tests,
                               )
                 c['schedulers'].append(s)
                 c['builders'].append(builder)
+
+            if cold_tests and slave_platform in cold_platforms:
+                cold_factory = TalosFactory(
+                    OS=slave_platform,
+                    toolsDir="tools",
+                    envName=platform_config['env_name'],
+                    workdirBase="../talos-data",
+                    buildBranch=buildBranch,
+                    branchName=branchName,
+                    configOptions=TALOS_COLD_CONFIG_OPTIONS,
+                    talosCmd=TALOS_CMD,
+                    fetchSymbols=branch_config['fetch_symbols'],
+                    plugins='',
+                    pageset='',
+                )
+                platform_name = platform_config[slave_platform]['name']
+                builder = {
+                    'name': "%s %s talos cold" % (platform_name, branch),
+                    'slavenames': SLAVES[slave_platform],
+                    'builddir': "%s-%s-cold" % (branch, slave_platform),
+                    'factory': cold_factory,
+                    'category': branch,
+                }
+                if cold_merge:
+                    scheduler_class = MultiScheduler
+                else:
+                    scheduler_class = NoMergeMultiScheduler
+                s = scheduler_class(name='%s %s cold scheduler' % (branch, slave_platform),
+                              branch='%s-%s' % (branch, platform),
+                              treeStableTimer=0,
+                              builderNames=[builder['name']],
+                              numberOfBuildsToTrigger=cold_tests,
+                              )
+                c['schedulers'].append(s)
+                c['builders'].append(builder)
+                                                                 
--- a/talos-try/config.py
+++ b/talos-try/config.py
@@ -8,16 +8,18 @@ TALOS_CMD = ['python', 'run_tests.py', '
 
 TALOS_JSS_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'tjss']
 
 TALOS_DIRTY_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'ts:ts_places_generated_min:ts_places_generated_med:ts_places_generated_max']
 TALOS_DIRTY_ADDONS = ['/builds/buildbot/profiles/dirtyDBs.zip', '/builds/buildbot/profiles/dirtyMaxDBs.zip']
 
 TALOS_TP4_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'tp4']
 
+TALOS_COLD_CONFIG_OPTIONS = GRAPH_CONFIG + ['--activeTests', 'ts:ts_cold']
+
 SLAVES = {
     'linux': ["qm-pubuntu-try%02i" % x for x in range(1,10)],
     'xp': ["qm-pxp-try%02i" % x for x in range(1,8)],
     'vista': ["qm-pvista-try%02i" % x for x in range(1,10)],
     'tiger': ["qm-ptiger-try%02i" % x for x in range(1,3)],
     'leopard': ["qm-pleopard-try%02i" % x for x in range(1,8)],
 }
 
@@ -35,8 +37,10 @@ PLATFORMS['macosx']['leopard'] = {'name'
 PLATFORMS['win32']['slave_platforms'] = ['xp', 'vista']
 PLATFORMS['win32']['env_name'] = 'win32-perf'
 PLATFORMS['win32']['xp'] = {'name': "WINNT 5.1"}
 PLATFORMS['win32']['vista'] = {'name': "WINNT 6.0"}
 
 PLATFORMS['linux']['slave_platforms'] = ['linux']
 PLATFORMS['linux']['env_name'] = 'linux-perf'
 PLATFORMS['linux']['linux'] = {'name': "Linux"}
+
+NO_WIN = PLATFORMS['linux']['slave_platforms'] + PLATFORMS['macosx']['slave_platforms']
--- a/talos-try/master.cfg
+++ b/talos-try/master.cfg
@@ -171,16 +171,18 @@ for platform, platform_config in PLATFOR
             envName=platform_config['env_name'],
             workdirBase="../talos-data",
             buildBranch="Try",
             branchName="MozillaTest",
             configOptions=TALOS_DIRTY_CONFIG_OPTIONS,
             talosCmd=TALOS_CMD,
             fetchSymbols=False,
             talosAddOns=TALOS_DIRTY_ADDONS,
+            plugins='',
+            pagseset='',
         )
         platform_name = platform_config[slave_platform]['name']
         builder = {
             'name': "%s try talos dirty" % (platform_name),
             'slavenames': SLAVES[slave_platform],
             'builddir': "%s-dirty" % (slave_platform),
             'factory': dirty_factory,
         }
@@ -188,8 +190,37 @@ for platform, platform_config in PLATFOR
                       branch='%s' % (platform),
                       treeStableTimer=0,
                       builderNames=[builder['name']],
                       numberOfBuildsToTrigger=2,
                       )
         c['schedulers'].append(s)
         c['builders'].append(builder)
 
+        if slave_platform in NO_WIN:
+            cold_factory = TalosFactory(
+                OS=slave_platform,
+                toolsDir="tools",
+                envName=platform_config['env_name'],
+                workdirBase="../talos-data",
+                buildBranch="Try",
+                branchName="MozillaTest",
+                configOptions=TALOS_COLD_CONFIG_OPTIONS,
+                talosCmd=TALOS_CMD,
+                fetchSymbols=False,
+                plugins='',
+                pageset='',
+            )
+            platform_name = platform_config[slave_platform]['name']
+            builder = {
+                'name': "%s try talos cold" % (platform_name),
+                'slavenames': SLAVES[slave_platform],
+                'builddir': "%s-cold" % (slave_platform),
+                'factory': cold_factory,
+            }
+            s = NoMergeMultiScheduler(name='%s cold scheduler' % (slave_platform),
+                          branch='%s' % (platform),
+                          treeStableTimer=0,
+                          builderNames=[builder['name']],
+                          numberOfBuildsToTrigger=2,
+                          )
+            c['schedulers'].append(s)
+            c['builders'].append(builder)