{"action":"created","comment":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments/228892145","pull_request_review_id":169259081,"id":228892145,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyODg5MjE0NQ==","diff_hunk":"@@ -82,6 +83,87 @@ DOCKER_OVERRIDE_CMDLINE := $(strip $(DOCKER_OVERRIDE_CMDLINE))\n # Overwrite if you want to use `docker` with sudo\n DOCKER ?= docker\n \n+\n+# # # # # # # # # # # # # # # #\n+# Directory mapping functions #\n+# # # # # # # # # # # # # # # #\n+\n+# terminating '/' in patsubst is important to match $1 == $(RIOTBASE)\n+# Handles relative directories\n+define dir_is_outside_riotbase\n+$(filter $(abspath $1)/,$(patsubst $(RIOTBASE)/%,%,$(abspath $1)/))\n+endef\n+\n+# Mapping of directores inside docker\n+#\n+# $1 = directories (can be a list of relative files)\n+# $2 = docker remap base directory (defaults to DOCKER_BUILD_ROOT)\n+# $3 = mapname (defaults to $(notdir $d))\n+#\n+# For each directory:\n+#  * if inside, returns  $(DOCKER_RIOTBASE)/<relative_path_in_riotbase>\n+#  * if outside, returns <docker remapbase>/<mapname>\n+#\n+# From env:\n+#  * RIOTBASE\n+#  * DOCKER_RIOTBASE\n+#  * DOCKER_BUILD_ROOT\n+#\n+path_in_docker = $(foreach d,$1,$(strip $(call _dir_path_in_docker,$d,$2,$3)))\n+define _dir_path_in_docker\n+      $(if $(call dir_is_outside_riotbase,$1),\\\n+        $(if $2,$2,$(DOCKER_BUILD_ROOT))/$(if $3,$3,$(notdir $(abspath $1))),\\\n+        $(patsubst %/,%,$(patsubst $(RIOTBASE)/%,$(DOCKER_RIOTBASE)/%,$(abspath $1)/)))\n+endef\n+\n+# Volume mapping and environment arguments\n+#\n+# Docker arguments for directories:\n+#\n+# * volume mapping for each directory not in RIOT\n+# * remap environment variable directories to the docker ones\n+#\n+# $1 = variable name (content can be a list)\n+# $2 = docker remap base directory (defaults to DOCKER_BUILD_ROOT)\n+# $3 = mapname (defaults to $(notdir $d))\n+docker_volume_and_env = $(strip $(call _docker_volume_and_env,$1,$2,$3))\n+define _docker_volume_and_env\n+  $(call docker_volumes_mapping,$($1),$2,$3)\n+  $(call docker_environment_mapping,$1,$2,$3)\n+endef\n+docker_volumes_mapping = $(foreach d,$1,$(call _volume_mapping,$d,$2,$3))\n+_volume_mapping = $(if $1,$(if $(call dir_is_outside_riotbase,$1), -v '$(abspath $1):$(call path_in_docker,$1,$2,$3)'))\n+docker_cmdline_mapping = $(if $($1),'$1=$(call path_in_docker,$($1),$2,$3)')\n+docker_environment_mapping = $(addprefix -e ,$(call docker_cmdline_mapping,$1,$2,$3))\n+\n+\n+# Application directory relative to either riotbase or riotproject\n+DOCKER_RIOTPROJECT = $(call path_in_docker,$(RIOTPROJECT),,riotproject)\n+DOCKER_APPDIR = $(DOCKER_RIOTPROJECT)/$(BUILDRELPATH)\n+\n+\n+# Directory mapping in docker and directories environment variable configuration\n+DOCKER_VOLUMES_AND_ENV += -v /etc/localtime:/etc/localtime:ro\n+DOCKER_VOLUMES_AND_ENV += -v '$(RIOTBASE):$(DOCKER_RIOTBASE)'\n+DOCKER_VOLUMES_AND_ENV += -e 'RIOTBASE=$(DOCKER_RIOTBASE)'\n+DOCKER_VOLUMES_AND_ENV += -e 'CCACHE_BASEDIR=$(DOCKER_RIOTBASE)'\n+\n+DOCKER_VOLUMES_AND_ENV += $(call docker_volume_and_env,RIOTPROJECT,,riotproject)\n+DOCKER_VOLUMES_AND_ENV += $(call docker_volume_and_env,RIOTCPU,,riotcpu)\n+DOCKER_VOLUMES_AND_ENV += $(call docker_volume_and_env,RIOTBOARD,,riotboard)\n+DOCKER_VOLUMES_AND_ENV += $(call docker_volume_and_env,RIOTMAKE,,riotmake)\n+\n+# Remap external module directories. Not handled if they have common dirnames\n+ifneq ($(words $(sort $(notdir $(EXTERNAL_MODULE_DIRS)))),$(words $(sort $(EXTERNAL_MODULE_DIRS))))","path":"makefiles/docker.inc.mk","position":159,"original_position":82,"commit_id":"10f4e6a59cd4ff4687e39dd33961e7aaf6dfe687","original_commit_id":"32729f954d545fe77169b10dd29168b6a7323735","user":{"login":"cladmi","id":241401,"node_id":"MDQ6VXNlcjI0MTQwMQ==","avatar_url":"https://avatars3.githubusercontent.com/u/241401?v=4","gravatar_id":"","url":"https://api.github.com/users/cladmi","html_url":"https://github.com/cladmi","followers_url":"https://api.github.com/users/cladmi/followers","following_url":"https://api.github.com/users/cladmi/following{/other_user}","gists_url":"https://api.github.com/users/cladmi/gists{/gist_id}","starred_url":"https://api.github.com/users/cladmi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cladmi/subscriptions","organizations_url":"https://api.github.com/users/cladmi/orgs","repos_url":"https://api.github.com/users/cladmi/repos","events_url":"https://api.github.com/users/cladmi/events{/privacy}","received_events_url":"https://api.github.com/users/cladmi/received_events","type":"User","site_admin":false},"body":"It could introduce difference between build machine when building in docker which is something I would not want.","created_at":"2018-10-29T11:44:11Z","updated_at":"2018-10-29T11:44:11Z","html_url":"https://github.com/RIOT-OS/RIOT/pull/9646#discussion_r228892145","pull_request_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/9646","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments/228892145"},"html":{"href":"https://github.com/RIOT-OS/RIOT/pull/9646#discussion_r228892145"},"pull_request":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/9646"}},"in_reply_to_id":223955323},"pull_request":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/9646","id":204516189,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA0NTE2MTg5","html_url":"https://github.com/RIOT-OS/RIOT/pull/9646","diff_url":"https://github.com/RIOT-OS/RIOT/pull/9646.diff","patch_url":"https://github.com/RIOT-OS/RIOT/pull/9646.patch","issue_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/9646","number":9646,"state":"open","locked":false,"title":"makefiles/docker.inc.mk: Use directories in RIOT when possible","user":{"login":"cladmi","id":241401,"node_id":"MDQ6VXNlcjI0MTQwMQ==","avatar_url":"https://avatars3.githubusercontent.com/u/241401?v=4","gravatar_id":"","url":"https://api.github.com/users/cladmi","html_url":"https://github.com/cladmi","followers_url":"https://api.github.com/users/cladmi/followers","following_url":"https://api.github.com/users/cladmi/following{/other_user}","gists_url":"https://api.github.com/users/cladmi/gists{/gist_id}","starred_url":"https://api.github.com/users/cladmi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cladmi/subscriptions","organizations_url":"https://api.github.com/users/cladmi/orgs","repos_url":"https://api.github.com/users/cladmi/repos","events_url":"https://api.github.com/users/cladmi/events{/privacy}","received_events_url":"https://api.github.com/users/cladmi/received_events","type":"User","site_admin":false},"body":"### Contribution description\r\n\r\nWhen building with docker, only mount the directories that are outside of RIOT.\r\nThis makes RIOT_FILE_RELATIVE be correctly relative to RIOTBASE when possible.\r\n\r\nIt fixes:\r\n\r\n    -DRIOT_FILE_RELATIVE=\\\"/data/riotbuild/riotproject/tests/libfixmath_unittests/bin/pkg/stm32f0discovery/libfixmath/libfixmath/fix16_str.c\\\"\r\n\r\nTo\r\n\r\n    -DRIOT_FILE_RELATIVE=\\\"tests/libfixmath_unittests/bin/pkg/stm32f0discovery/libfixmath/libfixmath/fix16_str.c\\\"\r\n\r\nThis fixes build size issues when `RIOT_FILE_RELATIVE` was used.\r\n\r\n\r\nI also fixed `BUILDRELPATH` when building in `docker` for an example outside of RIOT to allow testing. (I could split this outside if wanted).\r\n\r\n\r\n### Testing\r\n\r\nBuild `hello-world` with `docker` it should work and you can look at the list of `-v` and `-e` options given to docker.\r\n\r\nCopy `hello-world` outside of `RIOT`, update `RIOTBASE` in the makefile to point to RIOT and build with docker. It should also work and you can notice that a new `-v` and `-e` options are given to docker.\r\n\r\nI did not test with external cpu/board/make.\r\n\r\n### Reviewing\r\n\r\nI finished this a bit in a friday evening rush so would definitely need a second read.\r\n\r\n### Issues/PRs references\r\n\r\nhttps://github.com/RIOT-OS/RIOT/issues/9645\r\nhttps://github.com/RIOT-OS/RIOT/pull/9507","created_at":"2018-07-27T19:09:50Z","updated_at":"2018-10-29T11:44:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7f7b7320ad9125097a47434af9febb7179c10096","assignee":null,"assignees":[],"requested_reviewers":[{"login":"kaspar030","id":4679640,"node_id":"MDQ6VXNlcjQ2Nzk2NDA=","avatar_url":"https://avatars0.githubusercontent.com/u/4679640?v=4","gravatar_id":"","url":"https://api.github.com/users/kaspar030","html_url":"https://github.com/kaspar030","followers_url":"https://api.github.com/users/kaspar030/followers","following_url":"https://api.github.com/users/kaspar030/following{/other_user}","gists_url":"https://api.github.com/users/kaspar030/gists{/gist_id}","starred_url":"https://api.github.com/users/kaspar030/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaspar030/subscriptions","organizations_url":"https://api.github.com/users/kaspar030/orgs","repos_url":"https://api.github.com/users/kaspar030/repos","events_url":"https://api.github.com/users/kaspar030/events{/privacy}","received_events_url":"https://api.github.com/users/kaspar030/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":97338598,"node_id":"MDU6TGFiZWw5NzMzODU5OA==","url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/Area:%20build%20system","name":"Area: build system","color":"6600ff","default":false},{"id":998736346,"node_id":"MDU6TGFiZWw5OTg3MzYzNDY=","url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/Area:%20toolchain","name":"Area: toolchain","color":"6600ff","default":false},{"id":214816571,"node_id":"MDU6TGFiZWwyMTQ4MTY1NzE=","url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/CI:%20ready%20for%20build","name":"CI: ready for build","color":"66ffcc","default":false}],"milestone":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones/25","html_url":"https://github.com/RIOT-OS/RIOT/milestone/25","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones/25/labels","id":3745672,"node_id":"MDk6TWlsZXN0b25lMzc0NTY3Mg==","number":25,"title":"Release 2019.01","description":"","creator":{"login":"jia200x","id":1260616,"node_id":"MDQ6VXNlcjEyNjA2MTY=","avatar_url":"https://avatars3.githubusercontent.com/u/1260616?v=4","gravatar_id":"","url":"https://api.github.com/users/jia200x","html_url":"https://github.com/jia200x","followers_url":"https://api.github.com/users/jia200x/followers","following_url":"https://api.github.com/users/jia200x/following{/other_user}","gists_url":"https://api.github.com/users/jia200x/gists{/gist_id}","starred_url":"https://api.github.com/users/jia200x/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jia200x/subscriptions","organizations_url":"https://api.github.com/users/jia200x/orgs","repos_url":"https://api.github.com/users/jia200x/repos","events_url":"https://api.github.com/users/jia200x/events{/privacy}","received_events_url":"https://api.github.com/users/jia200x/received_events","type":"User","site_admin":false},"open_issues":79,"closed_issues":3,"state":"open","created_at":"2018-10-17T08:14:28Z","updated_at":"2018-10-27T00:39:33Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/9646/commits","review_comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/9646/comments","review_comment_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/9646/comments","statuses_url":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/10f4e6a59cd4ff4687e39dd33961e7aaf6dfe687","head":{"label":"cladmi:pr/make/docker/fix_relative_build_directory","ref":"pr/make/docker/fix_relative_build_directory","sha":"10f4e6a59cd4ff4687e39dd33961e7aaf6dfe687","user":{"login":"cladmi","id":241401,"node_id":"MDQ6VXNlcjI0MTQwMQ==","avatar_url":"https://avatars3.githubusercontent.com/u/241401?v=4","gravatar_id":"","url":"https://api.github.com/users/cladmi","html_url":"https://github.com/cladmi","followers_url":"https://api.github.com/users/cladmi/followers","following_url":"https://api.github.com/users/cladmi/following{/other_user}","gists_url":"https://api.github.com/users/cladmi/gists{/gist_id}","starred_url":"https://api.github.com/users/cladmi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cladmi/subscriptions","organizations_url":"https://api.github.com/users/cladmi/orgs","repos_url":"https://api.github.com/users/cladmi/repos","events_url":"https://api.github.com/users/cladmi/events{/privacy}","received_events_url":"https://api.github.com/users/cladmi/received_events","type":"User","site_admin":false},"repo":{"id":29687838,"node_id":"MDEwOlJlcG9zaXRvcnkyOTY4NzgzOA==","name":"RIOT","full_name":"cladmi/RIOT","private":false,"owner":{"login":"cladmi","id":241401,"node_id":"MDQ6VXNlcjI0MTQwMQ==","avatar_url":"https://avatars3.githubusercontent.com/u/241401?v=4","gravatar_id":"","url":"https://api.github.com/users/cladmi","html_url":"https://github.com/cladmi","followers_url":"https://api.github.com/users/cladmi/followers","following_url":"https://api.github.com/users/cladmi/following{/other_user}","gists_url":"https://api.github.com/users/cladmi/gists{/gist_id}","starred_url":"https://api.github.com/users/cladmi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cladmi/subscriptions","organizations_url":"https://api.github.com/users/cladmi/orgs","repos_url":"https://api.github.com/users/cladmi/repos","events_url":"https://api.github.com/users/cladmi/events{/privacy}","received_events_url":"https://api.github.com/users/cladmi/received_events","type":"User","site_admin":false},"html_url":"https://github.com/cladmi/RIOT","description":"RIOT -  The friendly OS for IoT","fork":true,"url":"https://api.github.com/repos/cladmi/RIOT","forks_url":"https://api.github.com/repos/cladmi/RIOT/forks","keys_url":"https://api.github.com/repos/cladmi/RIOT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cladmi/RIOT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cladmi/RIOT/teams","hooks_url":"https://api.github.com/repos/cladmi/RIOT/hooks","issue_events_url":"https://api.github.com/repos/cladmi/RIOT/issues/events{/number}","events_url":"https://api.github.com/repos/cladmi/RIOT/events","assignees_url":"https://api.github.com/repos/cladmi/RIOT/assignees{/user}","branches_url":"https://api.github.com/repos/cladmi/RIOT/branches{/branch}","tags_url":"https://api.github.com/repos/cladmi/RIOT/tags","blobs_url":"https://api.github.com/repos/cladmi/RIOT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cladmi/RIOT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cladmi/RIOT/git/refs{/sha}","trees_url":"https://api.github.com/repos/cladmi/RIOT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cladmi/RIOT/statuses/{sha}","languages_url":"https://api.github.com/repos/cladmi/RIOT/languages","stargazers_url":"https://api.github.com/repos/cladmi/RIOT/stargazers","contributors_url":"https://api.github.com/repos/cladmi/RIOT/contributors","subscribers_url":"https://api.github.com/repos/cladmi/RIOT/subscribers","subscription_url":"https://api.github.com/repos/cladmi/RIOT/subscription","commits_url":"https://api.github.com/repos/cladmi/RIOT/commits{/sha}","git_commits_url":"https://api.github.com/repos/cladmi/RIOT/git/commits{/sha}","comments_url":"https://api.github.com/repos/cladmi/RIOT/comments{/number}","issue_comment_url":"https://api.github.com/repos/cladmi/RIOT/issues/comments{/number}","contents_url":"https://api.github.com/repos/cladmi/RIOT/contents/{+path}","compare_url":"https://api.github.com/repos/cladmi/RIOT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cladmi/RIOT/merges","archive_url":"https://api.github.com/repos/cladmi/RIOT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cladmi/RIOT/downloads","issues_url":"https://api.github.com/repos/cladmi/RIOT/issues{/number}","pulls_url":"https://api.github.com/repos/cladmi/RIOT/pulls{/number}","milestones_url":"https://api.github.com/repos/cladmi/RIOT/milestones{/number}","notifications_url":"https://api.github.com/repos/cladmi/RIOT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cladmi/RIOT/labels{/name}","releases_url":"https://api.github.com/repos/cladmi/RIOT/releases{/id}","deployments_url":"https://api.github.com/repos/cladmi/RIOT/deployments","created_at":"2015-01-22T16:23:34Z","updated_at":"2018-10-23T13:18:36Z","pushed_at":"2018-10-29T11:39:28Z","git_url":"git://github.com/cladmi/RIOT.git","ssh_url":"git@github.com:cladmi/RIOT.git","clone_url":"https://github.com/cladmi/RIOT.git","svn_url":"https://github.com/cladmi/RIOT","homepage":"https://github.com/RIOT-OS/RIOT/wiki","size":58732,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1","node_id":"MDc6TGljZW5zZTEx"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"RIOT-OS:master","ref":"master","sha":"c5deac48655cd3aff9de5370e2fef6c265ab4899","user":{"login":"RIOT-OS","id":3079480,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNzk0ODA=","avatar_url":"https://avatars2.githubusercontent.com/u/3079480?v=4","gravatar_id":"","url":"https://api.github.com/users/RIOT-OS","html_url":"https://github.com/RIOT-OS","followers_url":"https://api.github.com/users/RIOT-OS/followers","following_url":"https://api.github.com/users/RIOT-OS/following{/other_user}","gists_url":"https://api.github.com/users/RIOT-OS/gists{/gist_id}","starred_url":"https://api.github.com/users/RIOT-OS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RIOT-OS/subscriptions","organizations_url":"https://api.github.com/users/RIOT-OS/orgs","repos_url":"https://api.github.com/users/RIOT-OS/repos","events_url":"https://api.github.com/users/RIOT-OS/events{/privacy}","received_events_url":"https://api.github.com/users/RIOT-OS/received_events","type":"Organization","site_admin":false},"repo":{"id":7370241,"node_id":"MDEwOlJlcG9zaXRvcnk3MzcwMjQx","name":"RIOT","full_name":"RIOT-OS/RIOT","private":false,"owner":{"login":"RIOT-OS","id":3079480,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNzk0ODA=","avatar_url":"https://avatars2.githubusercontent.com/u/3079480?v=4","gravatar_id":"","url":"https://api.github.com/users/RIOT-OS","html_url":"https://github.com/RIOT-OS","followers_url":"https://api.github.com/users/RIOT-OS/followers","following_url":"https://api.github.com/users/RIOT-OS/following{/other_user}","gists_url":"https://api.github.com/users/RIOT-OS/gists{/gist_id}","starred_url":"https://api.github.com/users/RIOT-OS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RIOT-OS/subscriptions","organizations_url":"https://api.github.com/users/RIOT-OS/orgs","repos_url":"https://api.github.com/users/RIOT-OS/repos","events_url":"https://api.github.com/users/RIOT-OS/events{/privacy}","received_events_url":"https://api.github.com/users/RIOT-OS/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/RIOT-OS/RIOT","description":"RIOT -  The friendly OS for IoT","fork":false,"url":"https://api.github.com/repos/RIOT-OS/RIOT","forks_url":"https://api.github.com/repos/RIOT-OS/RIOT/forks","keys_url":"https://api.github.com/repos/RIOT-OS/RIOT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RIOT-OS/RIOT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RIOT-OS/RIOT/teams","hooks_url":"https://api.github.com/repos/RIOT-OS/RIOT/hooks","issue_events_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/events{/number}","events_url":"https://api.github.com/repos/RIOT-OS/RIOT/events","assignees_url":"https://api.github.com/repos/RIOT-OS/RIOT/assignees{/user}","branches_url":"https://api.github.com/repos/RIOT-OS/RIOT/branches{/branch}","tags_url":"https://api.github.com/repos/RIOT-OS/RIOT/tags","blobs_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/refs{/sha}","trees_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/{sha}","languages_url":"https://api.github.com/repos/RIOT-OS/RIOT/languages","stargazers_url":"https://api.github.com/repos/RIOT-OS/RIOT/stargazers","contributors_url":"https://api.github.com/repos/RIOT-OS/RIOT/contributors","subscribers_url":"https://api.github.com/repos/RIOT-OS/RIOT/subscribers","subscription_url":"https://api.github.com/repos/RIOT-OS/RIOT/subscription","commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/commits{/sha}","git_commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/commits{/sha}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/comments{/number}","issue_comment_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/comments{/number}","contents_url":"https://api.github.com/repos/RIOT-OS/RIOT/contents/{+path}","compare_url":"https://api.github.com/repos/RIOT-OS/RIOT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RIOT-OS/RIOT/merges","archive_url":"https://api.github.com/repos/RIOT-OS/RIOT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RIOT-OS/RIOT/downloads","issues_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues{/number}","pulls_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls{/number}","milestones_url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones{/number}","notifications_url":"https://api.github.com/repos/RIOT-OS/RIOT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/labels{/name}","releases_url":"https://api.github.com/repos/RIOT-OS/RIOT/releases{/id}","deployments_url":"https://api.github.com/repos/RIOT-OS/RIOT/deployments","created_at":"2012-12-29T20:38:40Z","updated_at":"2018-10-29T10:45:05Z","pushed_at":"2018-10-29T11:39:30Z","git_url":"git://github.com/RIOT-OS/RIOT.git","ssh_url":"git@github.com:RIOT-OS/RIOT.git","clone_url":"https://github.com/RIOT-OS/RIOT.git","svn_url":"https://github.com/RIOT-OS/RIOT","homepage":"https://github.com/RIOT-OS/RIOT/wiki","size":58998,"stargazers_count":2071,"watchers_count":2071,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1164,"mirror_url":null,"archived":false,"open_issues_count":873,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1","node_id":"MDc6TGljZW5zZTEx"},"forks":1164,"open_issues":873,"watchers":2071,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/9646"},"html":{"href":"https://github.com/RIOT-OS/RIOT/pull/9646"},"issue":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/issues/9646"},"comments":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/issues/9646/comments"},"review_comments":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/9646/comments"},"review_comment":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/9646/commits"},"statuses":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/10f4e6a59cd4ff4687e39dd33961e7aaf6dfe687"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"cladmi"}}