{"action":"created","comment":{"url":"https://api.github.com/repos/flutter/buildroot/pulls/comments/222127849","pull_request_review_id":160901691,"id":222127849,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMjEyNzg0OQ==","diff_hunk":"@@ -0,0 +1,208 @@\n+#!/usr/bin/env python\n+# Copyright 2018 The Dart project authors. All rights reserved.\n+# Use of this source code is governed by a BSD-style license that can be\n+# found in the LICENSE file.\n+\n+# Usage: tools/dart/dart_roll_helper.py [--create_commit] dart_sdk_revision\n+#\n+# This script automates the Dart SDK roll steps, including:\n+#   - Updating the Dart revision in DEPS\n+#   - Updating the Dart dependencies in DEPS\n+#   - Syncing dependencies with 'gclient sync'\n+#   - Generating GN files for relevant engine configurations\n+#   - Building relevant engine configurations\n+#   - Running tests in 'example/flutter_gallery' and 'packages/flutter'\n+#   - Launching flutter_gallery in release and debug mode\n+#   - Running license.sh and updating license files in\n+#     'flutter/ci/licenses_golden'\n+#   - Generating a commit with relevant Dart SDK commit logs (optional)\n+#\n+# Requires the following environment variables to be set:\n+#   - FLUTTER_HOME: the absolute path to the 'flutter' directory\n+#   - ENGINE_HOME: the absolute path to the 'engine/src' directory\n+#   - DART_SDK_HOME: the absolute path to the root of a Dart SDK project\n+\n+import argparse\n+import datetime\n+import fileinput\n+import os\n+import shutil\n+import subprocess\n+import sys\n+\n+FLUTTER_HOME = os.environ['FLUTTER_HOME']\n+ENGINE_HOME = os.environ['ENGINE_HOME']\n+DART_SDK_HOME = os.environ['DART_SDK_HOME']\n+UPDATE_DART_DEPS = 'tools/dart/create_updated_flutter_deps.py'\n+ENGINE_GOLDEN_LICENSES = ENGINE_HOME + 'flutter/ci/licenses_golden/'\n+ENGINE_LICENSE_SCRIPT = ENGINE_HOME + 'flutter/ci/licenses.sh'\n+FLUTTER_GALLERY = FLUTTER_HOME + 'examples/flutter_gallery'\n+PACKAGE_FLUTTER = FLUTTER_HOME + 'packages/flutter'\n+FLUTTER_DEPS_PATH = 'flutter/DEPS'\n+DART_REVISION_ENTRY = 'dart_revision'\n+FLUTTER_RUN = ['flutter', 'run']\n+FLUTTER_TEST = ['flutter', 'test']\n+\n+original_revision = ''\n+updated_revision = ''\n+\n+def print_status(msg):\n+  CGREEN = '\\033[92m'\n+  CEND = '\\033[0m'\n+  print(CGREEN + '[STATUS] ' + msg + CEND)\n+\n+def update_dart_revision(dart_revision):\n+  global original_revision\n+  print_status('Updating Dart revision to {}'.format(dart_revision))\n+  content = get_deps()\n+  for idx, line in enumerate(content):\n+    if DART_REVISION_ENTRY in line:\n+      original_revision = line.strip().split(' ')[1][1:-2]\n+      content[idx] = \"  'dart_revision': '\" + dart_revision + \"',\\n\"\n+      break\n+  write_deps(content)\n+\n+def gclient_sync():\n+  print_status('Running gclient sync')\n+  p = subprocess.Popen(['gclient', 'sync'], cwd=ENGINE_HOME)\n+  p.wait()\n+\n+def get_deps():\n+  with open(ENGINE_HOME + FLUTTER_DEPS_PATH, 'r') as f:\n+    content = f.readlines()\n+  return content\n+\n+def update_deps():\n+  print_status('Updating Dart dependencies')\n+  p = subprocess.Popen([UPDATE_DART_DEPS], cwd=ENGINE_HOME)\n+  p.wait()\n+\n+def write_deps(newdeps):\n+  with open(ENGINE_HOME + FLUTTER_DEPS_PATH, 'w') as f:\n+    f.write(''.join(newdeps))\n+\n+def run_gn():\n+  print_status('Generating build files')\n+  common = ['flutter/tools/gn', '--goma']\n+  debug = ['--runtime-mode=debug']\n+  profile = ['--runtime-mode=profile']\n+  release = ['--runtime-mode=release']\n+  runtime_modes = [debug, profile, release]\n+  unopt = ['--unoptimized']\n+  android = ['--android']\n+\n+  for mode in runtime_modes:\n+    p = subprocess.Popen(common + android + unopt + mode, cwd=ENGINE_HOME)\n+    q = subprocess.Popen(common + android + mode, cwd=ENGINE_HOME)\n+    host = common[:]\n+    if set(mode) == set(debug):\n+      host += unopt\n+    r = subprocess.Popen(host + mode, cwd=ENGINE_HOME)\n+    p.wait()\n+    q.wait()\n+    r.wait()\n+\n+def build():\n+  print_status('Building Flutter engine')\n+  command = ['ninja', '-j1000']\n+  configs = [\n+    'out/host_debug_unopt',\n+    'out/host_release',\n+    'out/host_profile',\n+    'out/android_debug_unopt',\n+    'out/android_debug',\n+    'out/android_profile_unopt',\n+    'out/android_profile',\n+    'out/android_release_unopt',\n+    'out/android_release'\n+  ]\n+  for config in configs:\n+    p = subprocess.Popen(command + ['-C', config], cwd=ENGINE_HOME)\n+    p.wait()\n+\n+def run_tests():\n+  print_status('Running tests in packages/flutter')\n+  p = subprocess.Popen(FLUTTER_TEST + ['--local-engine=host_debug'],\n+                       cwd=PACKAGE_FLUTTER)\n+  p.wait()\n+  print_status('Running tests in examples/flutter_gallery')\n+  p = subprocess.Popen(FLUTTER_TEST + ['--local-engine=host_debug'],","path":"tools/dart/dart_roll_helper.py","position":129,"original_position":129,"commit_id":"8cd03d0455a5ce8b2aca905d9b1de1d713f91ccc","original_commit_id":"8cd03d0455a5ce8b2aca905d9b1de1d713f91ccc","user":{"login":"zanderso","id":6343103,"node_id":"MDQ6VXNlcjYzNDMxMDM=","avatar_url":"https://avatars0.githubusercontent.com/u/6343103?v=4","gravatar_id":"","url":"https://api.github.com/users/zanderso","html_url":"https://github.com/zanderso","followers_url":"https://api.github.com/users/zanderso/followers","following_url":"https://api.github.com/users/zanderso/following{/other_user}","gists_url":"https://api.github.com/users/zanderso/gists{/gist_id}","starred_url":"https://api.github.com/users/zanderso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zanderso/subscriptions","organizations_url":"https://api.github.com/users/zanderso/orgs","repos_url":"https://api.github.com/users/zanderso/repos","events_url":"https://api.github.com/users/zanderso/events{/privacy}","received_events_url":"https://api.github.com/users/zanderso/received_events","type":"User","site_admin":false},"body":"host_debug_unopt","created_at":"2018-10-02T22:07:00Z","updated_at":"2018-10-02T22:07:50Z","html_url":"https://github.com/flutter/buildroot/pull/174#discussion_r222127849","pull_request_url":"https://api.github.com/repos/flutter/buildroot/pulls/174","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/flutter/buildroot/pulls/comments/222127849"},"html":{"href":"https://github.com/flutter/buildroot/pull/174#discussion_r222127849"},"pull_request":{"href":"https://api.github.com/repos/flutter/buildroot/pulls/174"}}},"pull_request":{"url":"https://api.github.com/repos/flutter/buildroot/pulls/174","id":217404703,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE3NDA0NzAz","html_url":"https://github.com/flutter/buildroot/pull/174","diff_url":"https://github.com/flutter/buildroot/pull/174.diff","patch_url":"https://github.com/flutter/buildroot/pull/174.patch","issue_url":"https://api.github.com/repos/flutter/buildroot/issues/174","number":174,"state":"open","locked":false,"title":"Added dart_roll_helper.py to help automate large portions of the Dart SDK roll.","user":{"login":"bkonyi","id":24210656,"node_id":"MDQ6VXNlcjI0MjEwNjU2","avatar_url":"https://avatars2.githubusercontent.com/u/24210656?v=4","gravatar_id":"","url":"https://api.github.com/users/bkonyi","html_url":"https://github.com/bkonyi","followers_url":"https://api.github.com/users/bkonyi/followers","following_url":"https://api.github.com/users/bkonyi/following{/other_user}","gists_url":"https://api.github.com/users/bkonyi/gists{/gist_id}","starred_url":"https://api.github.com/users/bkonyi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bkonyi/subscriptions","organizations_url":"https://api.github.com/users/bkonyi/orgs","repos_url":"https://api.github.com/users/bkonyi/repos","events_url":"https://api.github.com/users/bkonyi/events{/privacy}","received_events_url":"https://api.github.com/users/bkonyi/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-09-21T21:21:22Z","updated_at":"2018-10-02T22:07:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9ea1585c8ad4ef54cc4f62efb985ce38b77434a4","assignee":null,"assignees":[],"requested_reviewers":[{"login":"aam","id":381137,"node_id":"MDQ6VXNlcjM4MTEzNw==","avatar_url":"https://avatars0.githubusercontent.com/u/381137?v=4","gravatar_id":"","url":"https://api.github.com/users/aam","html_url":"https://github.com/aam","followers_url":"https://api.github.com/users/aam/followers","following_url":"https://api.github.com/users/aam/following{/other_user}","gists_url":"https://api.github.com/users/aam/gists{/gist_id}","starred_url":"https://api.github.com/users/aam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aam/subscriptions","organizations_url":"https://api.github.com/users/aam/orgs","repos_url":"https://api.github.com/users/aam/repos","events_url":"https://api.github.com/users/aam/events{/privacy}","received_events_url":"https://api.github.com/users/aam/received_events","type":"User","site_admin":false},{"login":"a-siva","id":8633293,"node_id":"MDQ6VXNlcjg2MzMyOTM=","avatar_url":"https://avatars2.githubusercontent.com/u/8633293?v=4","gravatar_id":"","url":"https://api.github.com/users/a-siva","html_url":"https://github.com/a-siva","followers_url":"https://api.github.com/users/a-siva/followers","following_url":"https://api.github.com/users/a-siva/following{/other_user}","gists_url":"https://api.github.com/users/a-siva/gists{/gist_id}","starred_url":"https://api.github.com/users/a-siva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-siva/subscriptions","organizations_url":"https://api.github.com/users/a-siva/orgs","repos_url":"https://api.github.com/users/a-siva/repos","events_url":"https://api.github.com/users/a-siva/events{/privacy}","received_events_url":"https://api.github.com/users/a-siva/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/flutter/buildroot/pulls/174/commits","review_comments_url":"https://api.github.com/repos/flutter/buildroot/pulls/174/comments","review_comment_url":"https://api.github.com/repos/flutter/buildroot/pulls/comments{/number}","comments_url":"https://api.github.com/repos/flutter/buildroot/issues/174/comments","statuses_url":"https://api.github.com/repos/flutter/buildroot/statuses/8cd03d0455a5ce8b2aca905d9b1de1d713f91ccc","head":{"label":"flutter:dart_roll_helper","ref":"dart_roll_helper","sha":"8cd03d0455a5ce8b2aca905d9b1de1d713f91ccc","user":{"login":"flutter","id":14101776,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTAxNzc2","avatar_url":"https://avatars3.githubusercontent.com/u/14101776?v=4","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"repo":{"id":65318350,"node_id":"MDEwOlJlcG9zaXRvcnk2NTMxODM1MA==","name":"buildroot","full_name":"flutter/buildroot","private":false,"owner":{"login":"flutter","id":14101776,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTAxNzc2","avatar_url":"https://avatars3.githubusercontent.com/u/14101776?v=4","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/flutter/buildroot","description":"Build environment for the Flutter engine","fork":false,"url":"https://api.github.com/repos/flutter/buildroot","forks_url":"https://api.github.com/repos/flutter/buildroot/forks","keys_url":"https://api.github.com/repos/flutter/buildroot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flutter/buildroot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flutter/buildroot/teams","hooks_url":"https://api.github.com/repos/flutter/buildroot/hooks","issue_events_url":"https://api.github.com/repos/flutter/buildroot/issues/events{/number}","events_url":"https://api.github.com/repos/flutter/buildroot/events","assignees_url":"https://api.github.com/repos/flutter/buildroot/assignees{/user}","branches_url":"https://api.github.com/repos/flutter/buildroot/branches{/branch}","tags_url":"https://api.github.com/repos/flutter/buildroot/tags","blobs_url":"https://api.github.com/repos/flutter/buildroot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flutter/buildroot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flutter/buildroot/git/refs{/sha}","trees_url":"https://api.github.com/repos/flutter/buildroot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flutter/buildroot/statuses/{sha}","languages_url":"https://api.github.com/repos/flutter/buildroot/languages","stargazers_url":"https://api.github.com/repos/flutter/buildroot/stargazers","contributors_url":"https://api.github.com/repos/flutter/buildroot/contributors","subscribers_url":"https://api.github.com/repos/flutter/buildroot/subscribers","subscription_url":"https://api.github.com/repos/flutter/buildroot/subscription","commits_url":"https://api.github.com/repos/flutter/buildroot/commits{/sha}","git_commits_url":"https://api.github.com/repos/flutter/buildroot/git/commits{/sha}","comments_url":"https://api.github.com/repos/flutter/buildroot/comments{/number}","issue_comment_url":"https://api.github.com/repos/flutter/buildroot/issues/comments{/number}","contents_url":"https://api.github.com/repos/flutter/buildroot/contents/{+path}","compare_url":"https://api.github.com/repos/flutter/buildroot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flutter/buildroot/merges","archive_url":"https://api.github.com/repos/flutter/buildroot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flutter/buildroot/downloads","issues_url":"https://api.github.com/repos/flutter/buildroot/issues{/number}","pulls_url":"https://api.github.com/repos/flutter/buildroot/pulls{/number}","milestones_url":"https://api.github.com/repos/flutter/buildroot/milestones{/number}","notifications_url":"https://api.github.com/repos/flutter/buildroot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flutter/buildroot/labels{/name}","releases_url":"https://api.github.com/repos/flutter/buildroot/releases{/id}","deployments_url":"https://api.github.com/repos/flutter/buildroot/deployments","created_at":"2016-08-09T18:24:03Z","updated_at":"2018-09-27T22:41:54Z","pushed_at":"2018-09-27T22:41:54Z","git_url":"git://github.com/flutter/buildroot.git","ssh_url":"git@github.com:flutter/buildroot.git","clone_url":"https://github.com/flutter/buildroot.git","svn_url":"https://github.com/flutter/buildroot","homepage":null,"size":24164,"stargazers_count":10,"watchers_count":10,"language":"Python","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":38,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"other","name":"NOASSERTION","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":38,"open_issues":2,"watchers":10,"default_branch":"master"}},"base":{"label":"flutter:master","ref":"master","sha":"af454a046be29cc4b8a3f810a925ac60dd27f84f","user":{"login":"flutter","id":14101776,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTAxNzc2","avatar_url":"https://avatars3.githubusercontent.com/u/14101776?v=4","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"repo":{"id":65318350,"node_id":"MDEwOlJlcG9zaXRvcnk2NTMxODM1MA==","name":"buildroot","full_name":"flutter/buildroot","private":false,"owner":{"login":"flutter","id":14101776,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTAxNzc2","avatar_url":"https://avatars3.githubusercontent.com/u/14101776?v=4","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/flutter/buildroot","description":"Build environment for the Flutter engine","fork":false,"url":"https://api.github.com/repos/flutter/buildroot","forks_url":"https://api.github.com/repos/flutter/buildroot/forks","keys_url":"https://api.github.com/repos/flutter/buildroot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flutter/buildroot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flutter/buildroot/teams","hooks_url":"https://api.github.com/repos/flutter/buildroot/hooks","issue_events_url":"https://api.github.com/repos/flutter/buildroot/issues/events{/number}","events_url":"https://api.github.com/repos/flutter/buildroot/events","assignees_url":"https://api.github.com/repos/flutter/buildroot/assignees{/user}","branches_url":"https://api.github.com/repos/flutter/buildroot/branches{/branch}","tags_url":"https://api.github.com/repos/flutter/buildroot/tags","blobs_url":"https://api.github.com/repos/flutter/buildroot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flutter/buildroot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flutter/buildroot/git/refs{/sha}","trees_url":"https://api.github.com/repos/flutter/buildroot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flutter/buildroot/statuses/{sha}","languages_url":"https://api.github.com/repos/flutter/buildroot/languages","stargazers_url":"https://api.github.com/repos/flutter/buildroot/stargazers","contributors_url":"https://api.github.com/repos/flutter/buildroot/contributors","subscribers_url":"https://api.github.com/repos/flutter/buildroot/subscribers","subscription_url":"https://api.github.com/repos/flutter/buildroot/subscription","commits_url":"https://api.github.com/repos/flutter/buildroot/commits{/sha}","git_commits_url":"https://api.github.com/repos/flutter/buildroot/git/commits{/sha}","comments_url":"https://api.github.com/repos/flutter/buildroot/comments{/number}","issue_comment_url":"https://api.github.com/repos/flutter/buildroot/issues/comments{/number}","contents_url":"https://api.github.com/repos/flutter/buildroot/contents/{+path}","compare_url":"https://api.github.com/repos/flutter/buildroot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flutter/buildroot/merges","archive_url":"https://api.github.com/repos/flutter/buildroot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flutter/buildroot/downloads","issues_url":"https://api.github.com/repos/flutter/buildroot/issues{/number}","pulls_url":"https://api.github.com/repos/flutter/buildroot/pulls{/number}","milestones_url":"https://api.github.com/repos/flutter/buildroot/milestones{/number}","notifications_url":"https://api.github.com/repos/flutter/buildroot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flutter/buildroot/labels{/name}","releases_url":"https://api.github.com/repos/flutter/buildroot/releases{/id}","deployments_url":"https://api.github.com/repos/flutter/buildroot/deployments","created_at":"2016-08-09T18:24:03Z","updated_at":"2018-09-27T22:41:54Z","pushed_at":"2018-09-27T22:41:54Z","git_url":"git://github.com/flutter/buildroot.git","ssh_url":"git@github.com:flutter/buildroot.git","clone_url":"https://github.com/flutter/buildroot.git","svn_url":"https://github.com/flutter/buildroot","homepage":null,"size":24164,"stargazers_count":10,"watchers_count":10,"language":"Python","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":38,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"other","name":"NOASSERTION","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":38,"open_issues":2,"watchers":10,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/flutter/buildroot/pulls/174"},"html":{"href":"https://github.com/flutter/buildroot/pull/174"},"issue":{"href":"https://api.github.com/repos/flutter/buildroot/issues/174"},"comments":{"href":"https://api.github.com/repos/flutter/buildroot/issues/174/comments"},"review_comments":{"href":"https://api.github.com/repos/flutter/buildroot/pulls/174/comments"},"review_comment":{"href":"https://api.github.com/repos/flutter/buildroot/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/flutter/buildroot/pulls/174/commits"},"statuses":{"href":"https://api.github.com/repos/flutter/buildroot/statuses/8cd03d0455a5ce8b2aca905d9b1de1d713f91ccc"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"zanderso"}}