<pre style='margin:0'>
Mojca Miklavec (mojca) pushed a commit to branch master
in repository macports-infrastructure.
</pre>
<p><a href="https://github.com/macports/macports-infrastructure/commit/bf29a890d45aea8c4627c01f289cf45e0f1eebf7">https://github.com/macports/macports-infrastructure/commit/bf29a890d45aea8c4627c01f289cf45e0f1eebf7</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new bf29a89 buildbot: Guarantee stable order of builds
</span>bf29a89 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit bf29a890d45aea8c4627c01f289cf45e0f1eebf7
</span>Author: Mojca Miklavec <mojca@macports.org>
AuthorDate: Mon Mar 12 23:37:50 2018 +0100
<span style='display:block; white-space:pre;color:#404040;'> buildbot: Guarantee stable order of builds
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/52766
</span>---
buildbot/master.cfg | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/buildbot/master.cfg b/buildbot/master.cfg
</span><span style='display:block; white-space:pre;color:#808080;'>index 6c6b657..ef96b27 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/buildbot/master.cfg
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/buildbot/master.cfg
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -445,10 +445,13 @@ def make_build_url(props):
</span> class TriggerWithPortlist(steps.Trigger):
def getSchedulersAndProperties(self):
sp = []
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ priority = 1
</span> for scheduler in self.schedulerNames:
for port in self.build.getProperty('subportlist').split():
props = self.set_properties.copy()
props['portname'] = port
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ props['priority'] = priority
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ priority += 1
</span> sp.append([scheduler, props])
return sp
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -841,6 +844,19 @@ if 'man' in config['deploy']:
</span>
####### BUILDER CONFIGURATION #######
<span style='display:block; white-space:pre;background:#e0ffe0;'>+def getPriority(request):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if request.properties and request.properties.hasProperty('priority'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return int(request.properties.getProperty('priority'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return math.inf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+def getNextBuildOnPortBuilder(builder, requests):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nextBuild = requests[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for request in requests:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if getPriority(request) < getPriority(nextBuild):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nextBuild = request
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return nextBuild
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # XXX: slavenames assignment should be automatic and more generic
portsslaves = {}
baseslaves = {}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -881,6 +897,7 @@ for plat in build_platforms:
</span> slavenames=['ports-' + plat],
factory=portbuilder_factory,
tags=['portbuilder', os_version],
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ nextBuild=getNextBuildOnPortBuilder,
</span> env=merge_dicts(env_buildinfo, {'PATH': path_ports}))
))
</pre><pre style='margin:0'>
</pre>