<pre style='margin:0'>
Rainer Müller (raimue) pushed a commit to branch master
in repository macports-infrastructure.

</pre>
<p><a href="https://github.com/macports/macports-infrastructure/commit/830b9ff5b4f0af5d7d2598e01f48ff69074e7742">https://github.com/macports/macports-infrastructure/commit/830b9ff5b4f0af5d7d2598e01f48ff69074e7742</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 830b9ff  GitHubStatus: allow to filter by builder name
</span>830b9ff is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 830b9ff5b4f0af5d7d2598e01f48ff69074e7742
</span>Author: Rainer Müller <raimue@macports.org>
AuthorDate: Tue Mar 13 12:07:51 2018 +0100

<span style='display:block; white-space:pre;color:#404040;'>    GitHubStatus: allow to filter by builder name
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Only send GitHub status updates for portwatcher and base builds.
</span>---
 buildbot/master.cfg | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

<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 69ca3ec..ac391dd 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;'>@@ -202,6 +202,20 @@ c['status'].append(
</span> 
 from buildbot.process import properties
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+class GitHubStatusWithFilter(status.GitHubStatus):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    def __init__(self, buildername_filter_fn, *args, **kwargs):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        self._buildername_filter_fn = buildername_filter_fn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        super(GitHubStatusWithFilter, self).__init__(*args, **kwargs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    def buildStarted(self, builderName, build):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if self._buildername_filter_fn(builderName):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            super(GitHubStatusWithFilter, self).buildStarted(builderName, build)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    def buildFinished(self, builderName, build, results):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if self._buildername_filter_fn(builderName):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            super(GitHubStatusWithFilter, self).buildFinished(builderName, build, results)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> @properties.renderer
 def getGitHubRepoOwner(props):
     # project is in format "owner/name"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -216,11 +230,17 @@ def getGitHubRepoName(props):
</span>     name = project.split('/')[1]
     return name
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+buildername_regex = re.compile(r'^(base-*|ports-.*-watcher)$')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+def buildername_filter(buildername):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return bool(buildername_regex.match(buildername))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if 'githubapitoken' in secrets:
     # This GitHub API token must at least have the repo:status scope
     # TODO: buildbot 0.8.14 also supports setting context=util.Interpolate("buildbot/%(prop:buildername)s")
     c['status'].append(
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        status.GitHubStatus(token=secrets['githubapitoken'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        GitHubStatusWithFilter(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            buildername_filter_fn=buildername_filter,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            token=secrets['githubapitoken'],
</span>             repoOwner=getGitHubRepoOwner,
             repoName=getGitHubRepoName,
             sha=util.Interpolate("%(src::revision)s"),
</pre><pre style='margin:0'>

</pre>