<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>