<pre style='margin:0'>
Ryan Carsten Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/bacd86ef52ca11c5a83eb7eb874b60c31cbe073c">https://github.com/macports/macports-ports/commit/bacd86ef52ca11c5a83eb7eb874b60c31cbe073c</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 bacd86ef52c buildbot-0.8: Fix GitHub webhook payload field
</span>bacd86ef52c is described below
<span style='display:block; white-space:pre;color:#808000;'>commit bacd86ef52ca11c5a83eb7eb874b60c31cbe073c
</span>Author: Ryan Carsten Schmidt <ryandesign@macports.org>
AuthorDate: Thu Apr 10 14:59:38 2025 -0500
<span style='display:block; white-space:pre;color:#404040;'> buildbot-0.8: Fix GitHub webhook payload field
</span>---
devel/buildbot-0.8/Portfile | 3 +-
.../files/fix-github-webhook-payload-url.patch | 88 ++++++++++++++++++++++
2 files changed, 90 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/buildbot-0.8/Portfile b/devel/buildbot-0.8/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 14de360e8c6..a5951cc1a79 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/buildbot-0.8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/buildbot-0.8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup python 1.0
</span>
name buildbot-0.8
version 0.8.14
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> checksums rmd160 24f50e94f78cbfee31448f348365e4aa86322550 \
sha256 331efd07bd7522c222a8fb258801e8d78332c88d778ee76416b9e1028676e964 \
size 4840110
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,6 +43,7 @@ patchfiles-append patch-allowRecent_SQA_Migrate.diff \
</span> patch-buildbot-status-web-console.py.diff \
patch-buildbot-status-web-grid.py.diff \
patch-buildbot-status-web-waterfall.py.diff \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ fix-github-webhook-payload-url.patch \
</span> setHeader.patch
build.env NO_INSTALL_REQS=1
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/buildbot-0.8/files/fix-github-webhook-payload-url.patch b/devel/buildbot-0.8/files/fix-github-webhook-payload-url.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..2bae661f71d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/buildbot-0.8/files/fix-github-webhook-payload-url.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,88 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Make github payload parsing for pull requests more consistent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Currently, for a push request the repository field is filled with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+value of ['repository']['url'] but a pull request uses
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+['repository']['clone_url']. The clone_url has a .git suffix, this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+results in a non-regex filter for a git url working with only the push
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or the pull request, not both. This schema is only followed on github
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+enterprise, whereas github.com uses a different domain for pull requests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(api.github.com). ['repository']['html_url'] is preferred instead as it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+follows the same format on github & GHE and hence matches everywhere
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix and also parse and fill repository field for pull requests, update documentation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/buildbot/buildbot/commit/3703f2f77ea3ce5b9070770ec383bf004bea6867
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is necessary now that the url field reported in webhooks has changed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.blog/changelog/2025-04-07-changes-to-the-repository-object-in-push-webhook/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- buildbot/status/web/hooks/github.py.orig 2016-07-15 06:42:03.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ buildbot/status/web/hooks/github.py 2025-04-10 15:42:28.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -101,7 +101,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ user = None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # user = payload['pusher']['name']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ repo = payload['repository']['name']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- repo_url = payload['repository']['url']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ repo_url = payload['repository']['html_url']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # NOTE: what would be a reasonable value for project?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # project = request.args.get('project', [''])[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ project = payload['repository']['full_name']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -130,7 +130,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'when_timestamp': dateparse(payload['pull_request']['created_at']),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'branch': refname,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'revlink': payload['pull_request']['_links']['html']['href'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 'repository': payload['repository']['clone_url'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 'repository': payload['repository']['html_url'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 'project': payload['pull_request']['base']['repo']['full_name'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'category': 'pull',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # TODO: Get author name based on login id using txgithub module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'author': payload['sender']['login'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- buildbot/test/unit/test_status_web_hooks_github.py.orig 2016-07-15 06:42:03.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ buildbot/test/unit/test_status_web_hooks_github.py 2025-04-10 15:42:09.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,6 +38,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "before": "5aef35982fb2d34e9d9d4502f6ede1072793222d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "repository": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "html_url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "name": "github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "full_name": "defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "description": "You're lookin' at it.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -85,6 +86,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "before": "5aef35982fb2d34e9d9d4502f6ede1072793222d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "repository": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "html_url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "name": "github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "full_name": "defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "description": "You're lookin' at it.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -245,6 +247,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "before": "5aef35982fb2d34e9d9d4502f6ede1072793222d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "repository": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "html_url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "name": "github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "full_name": "defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "description": "You're lookin' at it.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -477,7 +480,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ self.assertEquals(len(self.request.addedChanges), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ change = self.request.addedChanges[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ self.assertEquals(change["repository"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "https://github.com/defunkt/github.git")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "https://github.com/defunkt/github")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ self.assertEquals(timegm(change["when_timestamp"].utctimetuple()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1412899790)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ self.assertEquals(change["author"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- docs/manual/cfg-statustargets.rst.orig 2016-08-08 10:33:20.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ docs/manual/cfg-statustargets.rst 2025-04-10 15:43:24.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -683,6 +683,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Note that not using ``change_hook_auth`` may expose you to security risks.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.. note::
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ When using a :ref:`ChangeFilter<Change-Filters>` with a GitHub webhook ensure that your filter matches all desired requests as fields such as ``repository`` and ``project`` may differ in different events.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BitBucket hook
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ##############
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>