Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from buildbot.scheduler import Dependent | 5 from buildbot.schedulers.basic import SingleBranchScheduler |
|
kjellander_chromium
2013/01/25 11:05:42
I forgot to ask about this part since I was tempte
| |
| 6 from buildbot.scheduler import Nightly | 6 from buildbot.schedulers.dependent import Dependent |
| 7 from buildbot.scheduler import Scheduler | 7 from buildbot.schedulers.timed import Periodic |
| 8 from buildbot.scheduler import Triggerable | 8 from buildbot.schedulers.timed import Nightly |
| 9 from buildbot.schedulers.triggerable import Triggerable | |
| 9 | 10 |
| 10 from master import slaves_list | 11 from master import slaves_list |
| 11 | 12 |
| 12 def GetArchiveUrl(project, machine_name, builder_name, zip_os_name, | 13 def GetArchiveUrl(project, machine_name, builder_name, zip_os_name, |
| 13 static_host=None): | 14 static_host=None): |
| 14 # static host can be used for connections made through an intermediary | 15 # static host can be used for connections made through an intermediary |
| 15 if static_host: | 16 if static_host: |
| 16 host = static_host | 17 host = static_host |
| 17 else: | 18 else: |
| 18 # This is slightly tricky since it depends on os.getcwd() being right. | 19 # This is slightly tricky since it depends on os.getcwd() being right. |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 50 | 51 |
| 51 def Hourly(self, name, branch, hour='*'): | 52 def Hourly(self, name, branch, hour='*'): |
| 52 """Helper method for the Nightly scheduler.""" | 53 """Helper method for the Nightly scheduler.""" |
| 53 if name in self._schedulers: | 54 if name in self._schedulers: |
| 54 raise ValueError('Scheduler %s already exists' % name) | 55 raise ValueError('Scheduler %s already exists' % name) |
| 55 self._schedulers[name] = {'type': 'Nightly', | 56 self._schedulers[name] = {'type': 'Nightly', |
| 56 'builders': [], | 57 'builders': [], |
| 57 'branch': branch, | 58 'branch': branch, |
| 58 'hour': hour} | 59 'hour': hour} |
| 59 | 60 |
| 61 def Periodic(self, name, periodicBuildTimer): | |
| 62 """Helper method for the Periodic scheduler.""" | |
| 63 if name in self._schedulers: | |
| 64 raise ValueError('Scheduler %s already exists' % name) | |
| 65 self._schedulers[name] = {'type': 'Periodic', | |
| 66 'builders': [], | |
| 67 'periodicBuildTimer': periodicBuildTimer} | |
| 68 | |
| 60 def Dependent(self, name, parent): | 69 def Dependent(self, name, parent): |
| 61 if name in self._schedulers: | 70 if name in self._schedulers: |
| 62 raise ValueError('Scheduler %s already exists' % name) | 71 raise ValueError('Scheduler %s already exists' % name) |
| 63 self._schedulers[name] = {'type': 'Dependent', | 72 self._schedulers[name] = {'type': 'Dependent', |
| 64 'parent': parent, | 73 'parent': parent, |
| 65 'builders': []} | 74 'builders': []} |
| 66 | 75 |
| 67 def Triggerable(self, name): | 76 def Triggerable(self, name): |
| 68 if name in self._schedulers: | 77 if name in self._schedulers: |
| 69 raise ValueError('Scheduler %s already exists' % name) | 78 raise ValueError('Scheduler %s already exists' % name) |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 102 | 111 |
| 103 # Append the builder to the list. | 112 # Append the builder to the list. |
| 104 new_builder = {'name': builder['name'], | 113 new_builder = {'name': builder['name'], |
| 105 'factory': self._factories[builder['factory']], | 114 'factory': self._factories[builder['factory']], |
| 106 'category': category, | 115 'category': category, |
| 107 'auto_reboot': builder['auto_reboot']} | 116 'auto_reboot': builder['auto_reboot']} |
| 108 if builder['builddir']: | 117 if builder['builddir']: |
| 109 new_builder['builddir'] = builder['builddir'] | 118 new_builder['builddir'] = builder['builddir'] |
| 110 c['builders'].append(new_builder) | 119 c['builders'].append(new_builder) |
| 111 | 120 |
| 112 # Process the main schedulers | 121 # Process the main schedulers. |
| 113 for s_name in self._schedulers: | 122 for s_name in self._schedulers: |
| 114 scheduler = self._schedulers[s_name] | 123 scheduler = self._schedulers[s_name] |
| 115 if scheduler['type'] == 'Scheduler': | 124 if scheduler['type'] == 'Scheduler': |
| 116 instance = Scheduler(name=s_name, | 125 instance = SingleBranchScheduler( |
| 117 branch=scheduler['branch'], | 126 name=s_name, |
| 118 treeStableTimer=scheduler['treeStableTimer'], | 127 branch=scheduler['branch'], |
| 119 builderNames=scheduler['builders'], | 128 treeStableTimer=scheduler['treeStableTimer'], |
| 120 categories=scheduler['categories']) | 129 builderNames=scheduler['builders'], |
| 130 categories=scheduler['categories']) | |
| 121 scheduler['instance'] = instance | 131 scheduler['instance'] = instance |
| 122 c['schedulers'].append(instance) | 132 c['schedulers'].append(instance) |
| 123 | 133 |
| 124 # Process the dependent schedulers | 134 # Process the dependent schedulers. |
| 125 for s_name in self._schedulers: | 135 for s_name in self._schedulers: |
| 126 scheduler = self._schedulers[s_name] | 136 scheduler = self._schedulers[s_name] |
| 127 if scheduler['type'] == 'Dependent': | 137 if scheduler['type'] == 'Dependent': |
| 128 c['schedulers'].append( | 138 c['schedulers'].append( |
| 129 Dependent(s_name, | 139 Dependent(s_name, |
| 130 self._schedulers[scheduler['parent']]['instance'], | 140 self._schedulers[scheduler['parent']]['instance'], |
| 131 scheduler['builders'])) | 141 scheduler['builders'])) |
| 132 | 142 |
| 133 # Process the triggerable schedulers | 143 # Process the triggerable schedulers. |
| 134 for s_name in self._schedulers: | 144 for s_name in self._schedulers: |
| 135 scheduler = self._schedulers[s_name] | 145 scheduler = self._schedulers[s_name] |
| 136 if scheduler['type'] == 'Triggerable': | 146 if scheduler['type'] == 'Triggerable': |
| 137 c['schedulers'].append(Triggerable(s_name, | 147 c['schedulers'].append(Triggerable(s_name, |
| 138 scheduler['builders'])) | 148 scheduler['builders'])) |
| 139 | 149 |
| 140 # Process the nightly schedulers | 150 # Process the periodic schedulers. |
| 151 for s_name in self._schedulers: | |
| 152 scheduler = self._schedulers[s_name] | |
| 153 if scheduler['type'] == 'Periodic': | |
| 154 c['schedulers'].append( | |
| 155 Periodic(s_name, | |
| 156 periodicBuildTimer=scheduler['periodicBuildTimer'], | |
| 157 builderNames=scheduler['builders'])) | |
| 158 | |
| 159 # Process the nightly schedulers. | |
| 141 for s_name in self._schedulers: | 160 for s_name in self._schedulers: |
| 142 scheduler = self._schedulers[s_name] | 161 scheduler = self._schedulers[s_name] |
| 143 if scheduler['type'] == 'Nightly': | 162 if scheduler['type'] == 'Nightly': |
| 144 c['schedulers'].append(Nightly(s_name, | 163 c['schedulers'].append(Nightly(s_name, |
| 145 branch=scheduler['branch'], | 164 branch=scheduler['branch'], |
| 146 hour=scheduler['hour'], | 165 hour=scheduler['hour'], |
| 147 builderNames=scheduler['builders'])) | 166 builderNames=scheduler['builders'])) |
| OLD | NEW |