{"action":"created","comment":{"url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/comments/101511556","pull_request_review_id":22240460,"id":101511556,"diff_hunk":"@@ -0,0 +1,192 @@\n+##\n+# Copyright 2015-2016 Ghent University\n+#\n+# This file is part of EasyBuild,\n+# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),\n+# with support of Ghent University (http://ugent.be/hpc),\n+# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),\n+# Flemish Research Foundation (FWO) (http://www.fwo.be/en)\n+# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).\n+#\n+# http://github.com/hpcugent/easybuild\n+#\n+# EasyBuild is free software: you can redistribute it and/or modify\n+# it under the terms of the GNU General Public License as published by\n+# the Free Software Foundation v2.\n+#\n+# EasyBuild is distributed in the hope that it will be useful,\n+# but WITHOUT ANY WARRANTY; without even the implied warranty of\n+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+# GNU General Public License for more details.\n+#\n+# You should have received a copy of the GNU General Public License\n+# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.\n+##\n+\"\"\"\n+EasyBuild support for using (already installed/existing) system MPI instead of a full install via EasyBuild.\n+\n+@author Alan O'Cais (Juelich Supercomputing Centre)\n+\"\"\"\n+import os\n+import re\n+\n+from easybuild.easyblocks.generic.bundle import Bundle\n+from easybuild.easyblocks.generic.systemcompiler import extract_compiler_version\n+from easybuild.tools.modules import get_software_version\n+from easybuild.tools.filetools import read_file, which\n+from easybuild.tools.run import run_cmd\n+from easybuild.framework.easyconfig.easyconfig import ActiveMNS\n+from easybuild.tools.build_log import EasyBuildError\n+\n+\n+class SystemMPI(Bundle):\n+    \"\"\"\n+    Support for generating a module file for the system mpi with specified name.\n+\n+    The mpi compiler is expected to be available in $PATH, required libraries are assumed to be readily available.\n+\n+    Specifying 'system' as a version leads to using the derived mpi version in the generated module;\n+    if an actual version is specified, it is checked against the derived version of the system mpi that was found.\n+    \"\"\"\n+\n+    def extract_ompi_setting(self, search, txt):\n+        \"\"\"Extract a particular OpenMPI setting from provided string.\"\"\"\n+\n+        version_regex = re.compile(r'^\\s+%s: (.*)$' % search, re.M)\n+        res = version_regex.search(txt)\n+        if res:\n+            setting = res.group(1)\n+            self.log.debug(\"Extracted OpenMPI setting %s: '%s' from search text\", search, setting)\n+            return setting\n+        else:\n+            raise EasyBuildError(\"Failed to extract OpenMPI setting '%s' using regex pattern '%s' from: %s\",\n+                                 search, version_regex.pattern, txt)\n+\n+    def __init__(self, *args, **kwargs):\n+        \"\"\"Extra initialization: determine system MPI version, prefix and any associated envvars.\"\"\"\n+        super(SystemMPI, self).__init__(*args, **kwargs)\n+\n+        # Determine MPI path (real path, with resolved symlinks) to ensure it exists\n+        mpi_name = self.cfg['name'].lower()\n+\n+        # Check we have MPI wrappers\n+        if mpi_name != 'impi':\n+            mpi_c_wrapper = 'mpicc'\n+        else:\n+            mpi_c_wrapper = 'mpiicc'\n+        path_to_mpi_c_wrapper = which(mpi_c_wrapper)\n+        if path_to_mpi_c_wrapper:\n+            path_to_mpi_c_wrapper = os.path.realpath(path_to_mpi_c_wrapper)\n+            self.log.info(\"Found path to MPI implementation '%s' %s compiler (with symlinks resolved): %s\",\n+                          mpi_name, mpi_c_wrapper, path_to_mpi_c_wrapper)\n+        else:\n+            raise EasyBuildError(\"%s not found in $PATH\", mpi_c_wrapper)\n+\n+        # Determine compiler version and installation prefix\n+        if mpi_name == 'openmpi':\n+            output_of_ompi_info, _ = run_cmd(\"ompi_info\", simple=False)\n+            # Extract the version of OpenMPI\n+            self.mpi_version = self.extract_ompi_setting(\"Open MPI\", output_of_ompi_info)\n+\n+            # Extract the installation prefix\n+            self.mpi_prefix = self.extract_ompi_setting(\"Prefix\", output_of_ompi_info)\n+\n+            # Extract any OpenMPI environment variables in the current environment and ensure they are added to the\n+            # final module\n+            raw_env = os.environ","path":"easybuild/easyblocks/generic/systemmpi.py","position":96,"original_position":96,"commit_id":"02520ceb6e80da331e79363bbfdacdf0aaca56d3","original_commit_id":"02520ceb6e80da331e79363bbfdacdf0aaca56d3","user":{"login":"boegel","id":620876,"avatar_url":"https://avatars.githubusercontent.com/u/620876?v=3","gravatar_id":"","url":"https://api.github.com/users/boegel","html_url":"https://github.com/boegel","followers_url":"https://api.github.com/users/boegel/followers","following_url":"https://api.github.com/users/boegel/following{/other_user}","gists_url":"https://api.github.com/users/boegel/gists{/gist_id}","starred_url":"https://api.github.com/users/boegel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boegel/subscriptions","organizations_url":"https://api.github.com/users/boegel/orgs","repos_url":"https://api.github.com/users/boegel/repos","events_url":"https://api.github.com/users/boegel/events{/privacy}","received_events_url":"https://api.github.com/users/boegel/received_events","type":"User","site_admin":false},"body":"no need to introduce `raw_env`, just use `os.environ` on line below?","created_at":"2017-02-16T12:57:25Z","updated_at":"2017-02-16T13:01:52Z","html_url":"https://github.com/hpcugent/easybuild-easyblocks/pull/1106#discussion_r101511556","pull_request_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/1106","_links":{"self":{"href":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/comments/101511556"},"html":{"href":"https://github.com/hpcugent/easybuild-easyblocks/pull/1106#discussion_r101511556"},"pull_request":{"href":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/1106"}}},"pull_request":{"url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/1106","id":105901219,"html_url":"https://github.com/hpcugent/easybuild-easyblocks/pull/1106","diff_url":"https://github.com/hpcugent/easybuild-easyblocks/pull/1106.diff","patch_url":"https://github.com/hpcugent/easybuild-easyblocks/pull/1106.patch","issue_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/issues/1106","number":1106,"state":"open","locked":false,"title":"SystemMPI","user":{"login":"ocaisa","id":3840437,"avatar_url":"https://avatars.githubusercontent.com/u/3840437?v=3","gravatar_id":"","url":"https://api.github.com/users/ocaisa","html_url":"https://github.com/ocaisa","followers_url":"https://api.github.com/users/ocaisa/followers","following_url":"https://api.github.com/users/ocaisa/following{/other_user}","gists_url":"https://api.github.com/users/ocaisa/gists{/gist_id}","starred_url":"https://api.github.com/users/ocaisa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ocaisa/subscriptions","organizations_url":"https://api.github.com/users/ocaisa/orgs","repos_url":"https://api.github.com/users/ocaisa/repos","events_url":"https://api.github.com/users/ocaisa/events{/privacy}","received_events_url":"https://api.github.com/users/ocaisa/received_events","type":"User","site_admin":false},"body":"Allow the use of a (recognised) MPI implementation from the system as part of a toolchain.\r\n\r\nCurrent easyblock works for OpenMPI but requires some additional checks to ensure a consistent toolchain stack.","created_at":"2017-02-13T14:14:56Z","updated_at":"2017-02-16T13:01:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0cae0f0a31959dcdcb47079c88add146bca144f4","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/milestones/35","html_url":"https://github.com/hpcugent/easybuild-easyblocks/milestone/35","labels_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/milestones/35/labels","id":2251827,"number":35,"title":"3.2.0","description":"","creator":{"login":"boegel","id":620876,"avatar_url":"https://avatars.githubusercontent.com/u/620876?v=3","gravatar_id":"","url":"https://api.github.com/users/boegel","html_url":"https://github.com/boegel","followers_url":"https://api.github.com/users/boegel/followers","following_url":"https://api.github.com/users/boegel/following{/other_user}","gists_url":"https://api.github.com/users/boegel/gists{/gist_id}","starred_url":"https://api.github.com/users/boegel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boegel/subscriptions","organizations_url":"https://api.github.com/users/boegel/orgs","repos_url":"https://api.github.com/users/boegel/repos","events_url":"https://api.github.com/users/boegel/events{/privacy}","received_events_url":"https://api.github.com/users/boegel/received_events","type":"User","site_admin":false},"open_issues":24,"closed_issues":2,"state":"open","created_at":"2017-01-14T13:23:32Z","updated_at":"2017-02-16T12:44:51Z","due_on":"2017-03-15T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/1106/commits","review_comments_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/1106/comments","review_comment_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/issues/1106/comments","statuses_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/statuses/02520ceb6e80da331e79363bbfdacdf0aaca56d3","head":{"label":"ocaisa:systemmpi","ref":"systemmpi","sha":"02520ceb6e80da331e79363bbfdacdf0aaca56d3","user":{"login":"ocaisa","id":3840437,"avatar_url":"https://avatars.githubusercontent.com/u/3840437?v=3","gravatar_id":"","url":"https://api.github.com/users/ocaisa","html_url":"https://github.com/ocaisa","followers_url":"https://api.github.com/users/ocaisa/followers","following_url":"https://api.github.com/users/ocaisa/following{/other_user}","gists_url":"https://api.github.com/users/ocaisa/gists{/gist_id}","starred_url":"https://api.github.com/users/ocaisa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ocaisa/subscriptions","organizations_url":"https://api.github.com/users/ocaisa/orgs","repos_url":"https://api.github.com/users/ocaisa/repos","events_url":"https://api.github.com/users/ocaisa/events{/privacy}","received_events_url":"https://api.github.com/users/ocaisa/received_events","type":"User","site_admin":false},"repo":{"id":32089632,"name":"easybuild-easyblocks","full_name":"ocaisa/easybuild-easyblocks","owner":{"login":"ocaisa","id":3840437,"avatar_url":"https://avatars.githubusercontent.com/u/3840437?v=3","gravatar_id":"","url":"https://api.github.com/users/ocaisa","html_url":"https://github.com/ocaisa","followers_url":"https://api.github.com/users/ocaisa/followers","following_url":"https://api.github.com/users/ocaisa/following{/other_user}","gists_url":"https://api.github.com/users/ocaisa/gists{/gist_id}","starred_url":"https://api.github.com/users/ocaisa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ocaisa/subscriptions","organizations_url":"https://api.github.com/users/ocaisa/orgs","repos_url":"https://api.github.com/users/ocaisa/repos","events_url":"https://api.github.com/users/ocaisa/events{/privacy}","received_events_url":"https://api.github.com/users/ocaisa/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ocaisa/easybuild-easyblocks","description":"Collection of easyblocks that implement support for building and installing software with EasyBuild.","fork":true,"url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks","forks_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/forks","keys_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/teams","hooks_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/hooks","issue_events_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/issues/events{/number}","events_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/events","assignees_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/assignees{/user}","branches_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/branches{/branch}","tags_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/tags","blobs_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/git/refs{/sha}","trees_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/statuses/{sha}","languages_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/languages","stargazers_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/stargazers","contributors_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/contributors","subscribers_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/subscribers","subscription_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/subscription","commits_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/commits{/sha}","git_commits_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/git/commits{/sha}","comments_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/comments{/number}","issue_comment_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/issues/comments{/number}","contents_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/contents/{+path}","compare_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/merges","archive_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/downloads","issues_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/issues{/number}","pulls_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/pulls{/number}","milestones_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/milestones{/number}","notifications_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/labels{/name}","releases_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/releases{/id}","deployments_url":"https://api.github.com/repos/ocaisa/easybuild-easyblocks/deployments","created_at":"2015-03-12T17:00:55Z","updated_at":"2016-11-15T13:51:07Z","pushed_at":"2017-02-15T15:45:34Z","git_url":"git://github.com/ocaisa/easybuild-easyblocks.git","ssh_url":"git@github.com:ocaisa/easybuild-easyblocks.git","clone_url":"https://github.com/ocaisa/easybuild-easyblocks.git","svn_url":"https://github.com/ocaisa/easybuild-easyblocks","homepage":"http://hpcugent.github.com/easybuild/","size":8196,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"hpcugent:develop","ref":"develop","sha":"89d95d66b4fc36c85799140af0d881b891f95636","user":{"login":"hpcugent","id":1515263,"avatar_url":"https://avatars.githubusercontent.com/u/1515263?v=3","gravatar_id":"","url":"https://api.github.com/users/hpcugent","html_url":"https://github.com/hpcugent","followers_url":"https://api.github.com/users/hpcugent/followers","following_url":"https://api.github.com/users/hpcugent/following{/other_user}","gists_url":"https://api.github.com/users/hpcugent/gists{/gist_id}","starred_url":"https://api.github.com/users/hpcugent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hpcugent/subscriptions","organizations_url":"https://api.github.com/users/hpcugent/orgs","repos_url":"https://api.github.com/users/hpcugent/repos","events_url":"https://api.github.com/users/hpcugent/events{/privacy}","received_events_url":"https://api.github.com/users/hpcugent/received_events","type":"Organization","site_admin":false},"repo":{"id":6228378,"name":"easybuild-easyblocks","full_name":"hpcugent/easybuild-easyblocks","owner":{"login":"hpcugent","id":1515263,"avatar_url":"https://avatars.githubusercontent.com/u/1515263?v=3","gravatar_id":"","url":"https://api.github.com/users/hpcugent","html_url":"https://github.com/hpcugent","followers_url":"https://api.github.com/users/hpcugent/followers","following_url":"https://api.github.com/users/hpcugent/following{/other_user}","gists_url":"https://api.github.com/users/hpcugent/gists{/gist_id}","starred_url":"https://api.github.com/users/hpcugent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hpcugent/subscriptions","organizations_url":"https://api.github.com/users/hpcugent/orgs","repos_url":"https://api.github.com/users/hpcugent/repos","events_url":"https://api.github.com/users/hpcugent/events{/privacy}","received_events_url":"https://api.github.com/users/hpcugent/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hpcugent/easybuild-easyblocks","description":"Collection of easyblocks that implement support for building and installing software with EasyBuild.","fork":false,"url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks","forks_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/forks","keys_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/teams","hooks_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/hooks","issue_events_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/issues/events{/number}","events_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/events","assignees_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/assignees{/user}","branches_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/branches{/branch}","tags_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/tags","blobs_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/git/refs{/sha}","trees_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/statuses/{sha}","languages_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/languages","stargazers_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/stargazers","contributors_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/contributors","subscribers_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/subscribers","subscription_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/subscription","commits_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/commits{/sha}","git_commits_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/git/commits{/sha}","comments_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/comments{/number}","issue_comment_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/issues/comments{/number}","contents_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/contents/{+path}","compare_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/merges","archive_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/downloads","issues_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/issues{/number}","pulls_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls{/number}","milestones_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/milestones{/number}","notifications_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/labels{/name}","releases_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/releases{/id}","deployments_url":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/deployments","created_at":"2012-10-15T14:31:19Z","updated_at":"2017-01-14T11:31:02Z","pushed_at":"2017-02-16T08:19:36Z","git_url":"git://github.com/hpcugent/easybuild-easyblocks.git","ssh_url":"git@github.com:hpcugent/easybuild-easyblocks.git","clone_url":"https://github.com/hpcugent/easybuild-easyblocks.git","svn_url":"https://github.com/hpcugent/easybuild-easyblocks","homepage":"http://hpcugent.github.com/easybuild/","size":8230,"stargazers_count":43,"watchers_count":43,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":117,"mirror_url":null,"open_issues_count":138,"forks":117,"open_issues":138,"watchers":43,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/1106"},"html":{"href":"https://github.com/hpcugent/easybuild-easyblocks/pull/1106"},"issue":{"href":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/issues/1106"},"comments":{"href":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/issues/1106/comments"},"review_comments":{"href":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/1106/comments"},"review_comment":{"href":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/pulls/1106/commits"},"statuses":{"href":"https://api.github.com/repos/hpcugent/easybuild-easyblocks/statuses/02520ceb6e80da331e79363bbfdacdf0aaca56d3"}}}}
{"actor":{"display_login":"boegel"}}