<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-infrastructure.

</pre>
<p><a href="https://github.com/macports/macports-infrastructure/commit/9a7661ed0166cfb5f0fdbbd87b5a2db20f5faf24">https://github.com/macports/macports-infrastructure/commit/9a7661ed0166cfb5f0fdbbd87b5a2db20f5faf24</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 9a7661e  Use floating point number for priority
</span>9a7661e is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 9a7661ed0166cfb5f0fdbbd87b5a2db20f5faf24
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Sat Mar 20 01:01:54 2021 -0500

<span style='display:block; white-space:pre;color:#404040;'>    Use floating point number for priority
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Use a floating point number for priority where the integer part is the
</span><span style='display:block; white-space:pre;color:#404040;'>    portwatcher build number and the decimal part is the index. This ensures
</span><span style='display:block; white-space:pre;color:#404040;'>    that one portwatcher's builds finish before any subsequent portwatcher's
</span><span style='display:block; white-space:pre;color:#404040;'>    builds in situations where a portwatcher runs before a previous
</span><span style='display:block; white-space:pre;color:#404040;'>    portwatcher's builds have finished.
</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/53587
</span>---
 buildbot/master.cfg | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

<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 7039a38..dec52c3 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;'>@@ -8,6 +8,7 @@
</span> import datetime
 from itertools import ifilter, imap, izip
 import json
<span style='display:block; white-space:pre;background:#e0ffe0;'>+import math
</span> import os
 import re
 import subprocess
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -470,13 +471,17 @@ def make_build_url(props):
</span> class TriggerWithPortlist(steps.Trigger):
     def getSchedulersAndProperties(self):
         sp = []
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        priority = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        index = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        buildnumber = self.build.getProperty('buildnumber')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        subportlist = self.build.getProperty('subportlist').split()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        max = len(subportlist) * len(self.schedulerNames)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        digits = math.floor(math.log10(max)) + 1
</span>         for scheduler in self.schedulerNames:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            for port in self.build.getProperty('subportlist').split():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            for port in subportlist:
</span>                 props = self.set_properties.copy()
                 props['portname'] = port
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                props['priority'] = priority
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                priority += 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                props['priority'] = float(str(buildnumber) + "." + str(index).zfill(digits))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                index += 1
</span>                 sp.append([scheduler, props])
         return sp
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -890,7 +895,7 @@ if 'man' in config['deploy']:
</span> 
 def getPriority(request):
     if request.properties and request.properties.hasProperty('priority'):
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        return int(request.properties.getProperty('priority'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return float(request.properties.getProperty('priority'))
</span>     else:
         return math.inf
 
</pre><pre style='margin:0'>

</pre>