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