{"action":"created","comment":{"url":"https://api.github.com/repos/kythe/kythe/pulls/comments/234848085","pull_request_review_id":176578095,"id":234848085,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNDg0ODA4NQ==","diff_hunk":"@@ -20,3 +21,25 @@ go_binary(\n         \"@org_golang_x_net//http2:go_default_library\",\n     ],\n )\n+\n+go_image(","path":"kythe/go/serving/tools/http_server/BUILD","position":10,"original_position":10,"commit_id":"98fa08d0bbc8366f36853883629e2ba7e518aea9","original_commit_id":"98fa08d0bbc8366f36853883629e2ba7e518aea9","user":{"login":"achew22","id":37206,"node_id":"MDQ6VXNlcjM3MjA2","avatar_url":"https://avatars3.githubusercontent.com/u/37206?v=4","gravatar_id":"","url":"https://api.github.com/users/achew22","html_url":"https://github.com/achew22","followers_url":"https://api.github.com/users/achew22/followers","following_url":"https://api.github.com/users/achew22/following{/other_user}","gists_url":"https://api.github.com/users/achew22/gists{/gist_id}","starred_url":"https://api.github.com/users/achew22/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/achew22/subscriptions","organizations_url":"https://api.github.com/users/achew22/orgs","repos_url":"https://api.github.com/users/achew22/repos","events_url":"https://api.github.com/users/achew22/events{/privacy}","received_events_url":"https://api.github.com/users/achew22/received_events","type":"User","site_admin":false},"body":"[`go_image`](https://github.com/bazelbuild/rules_docker#go_image) is a `rules_docker` [macro](https://github.com/bazelbuild/rules_docker/blob/master/go/image.bzl#L65) that does two things.\r\n\r\n1. It creates a `rules_go` `go_binary` named `name + \".binary\"`.\r\n1. Creates a docker image using that binary.\r\n\r\nIf you `blaze run` this target on a machine with Docker installed it will create a new tagged docker image named `bazel/kythe/go/serving/tools/http_server/http_server_image:http_server_image` (name:tag). This docker image is constructed entirely hermetically in Bazel without invoking the Docker tools which means you don't need `dind` in order to build an image. By default the `go_image` rule uses the `grc.io/distroless/base` as the base for the binaries. Interestingly the `gcr.io/distroless/base` image is itself created in Bazel this way.\r\n\r\nIn what way would you like me to expand in the PR to make this more clear? Would you prefer this as a change to the Kythe documentation, to my commit message, or inline in the `BUILD` file itself?","created_at":"2018-11-20T02:08:28Z","updated_at":"2018-11-20T02:08:30Z","html_url":"https://github.com/kythe/kythe/pull/3263#discussion_r234848085","pull_request_url":"https://api.github.com/repos/kythe/kythe/pulls/3263","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/kythe/kythe/pulls/comments/234848085"},"html":{"href":"https://github.com/kythe/kythe/pull/3263#discussion_r234848085"},"pull_request":{"href":"https://api.github.com/repos/kythe/kythe/pulls/3263"}},"in_reply_to_id":234756614},"pull_request":{"url":"https://api.github.com/repos/kythe/kythe/pulls/3263","id":231762304,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMxNzYyMzA0","html_url":"https://github.com/kythe/kythe/pull/3263","diff_url":"https://github.com/kythe/kythe/pull/3263.diff","patch_url":"https://github.com/kythe/kythe/pull/3263.patch","issue_url":"https://api.github.com/repos/kythe/kythe/issues/3263","number":3263,"state":"open","locked":false,"title":"Use rules_docker to build http_server image","user":{"login":"achew22","id":37206,"node_id":"MDQ6VXNlcjM3MjA2","avatar_url":"https://avatars3.githubusercontent.com/u/37206?v=4","gravatar_id":"","url":"https://api.github.com/users/achew22","html_url":"https://github.com/achew22","followers_url":"https://api.github.com/users/achew22/followers","following_url":"https://api.github.com/users/achew22/following{/other_user}","gists_url":"https://api.github.com/users/achew22/gists{/gist_id}","starred_url":"https://api.github.com/users/achew22/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/achew22/subscriptions","organizations_url":"https://api.github.com/users/achew22/orgs","repos_url":"https://api.github.com/users/achew22/repos","events_url":"https://api.github.com/users/achew22/events{/privacy}","received_events_url":"https://api.github.com/users/achew22/received_events","type":"User","site_admin":false},"body":"This is in addition to the existing docker rules and shouldn't interfere\r\nwith the normal release process and provides a toehold for moving more\r\nof that logic into rules_docker.","created_at":"2018-11-18T01:29:50Z","updated_at":"2018-11-20T02:08:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9fa960601d4bfe1493b07f3f045125c61c800c8a","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":968352665,"node_id":"MDU6TGFiZWw5NjgzNTI2NjU=","url":"https://api.github.com/repos/kythe/kythe/labels/buildbot","name":"buildbot","color":"dddddd","default":false},{"id":1024495230,"node_id":"MDU6TGFiZWwxMDI0NDk1MjMw","url":"https://api.github.com/repos/kythe/kythe/labels/cla:%20yes","name":"cla: yes","color":"bfd4f2","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kythe/kythe/pulls/3263/commits","review_comments_url":"https://api.github.com/repos/kythe/kythe/pulls/3263/comments","review_comment_url":"https://api.github.com/repos/kythe/kythe/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kythe/kythe/issues/3263/comments","statuses_url":"https://api.github.com/repos/kythe/kythe/statuses/98fa08d0bbc8366f36853883629e2ba7e518aea9","head":{"label":"achew22:rules_docker","ref":"rules_docker","sha":"98fa08d0bbc8366f36853883629e2ba7e518aea9","user":{"login":"achew22","id":37206,"node_id":"MDQ6VXNlcjM3MjA2","avatar_url":"https://avatars3.githubusercontent.com/u/37206?v=4","gravatar_id":"","url":"https://api.github.com/users/achew22","html_url":"https://github.com/achew22","followers_url":"https://api.github.com/users/achew22/followers","following_url":"https://api.github.com/users/achew22/following{/other_user}","gists_url":"https://api.github.com/users/achew22/gists{/gist_id}","starred_url":"https://api.github.com/users/achew22/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/achew22/subscriptions","organizations_url":"https://api.github.com/users/achew22/orgs","repos_url":"https://api.github.com/users/achew22/repos","events_url":"https://api.github.com/users/achew22/events{/privacy}","received_events_url":"https://api.github.com/users/achew22/received_events","type":"User","site_admin":false},"repo":{"id":104595807,"node_id":"MDEwOlJlcG9zaXRvcnkxMDQ1OTU4MDc=","name":"kythe","full_name":"achew22/kythe","private":false,"owner":{"login":"achew22","id":37206,"node_id":"MDQ6VXNlcjM3MjA2","avatar_url":"https://avatars3.githubusercontent.com/u/37206?v=4","gravatar_id":"","url":"https://api.github.com/users/achew22","html_url":"https://github.com/achew22","followers_url":"https://api.github.com/users/achew22/followers","following_url":"https://api.github.com/users/achew22/following{/other_user}","gists_url":"https://api.github.com/users/achew22/gists{/gist_id}","starred_url":"https://api.github.com/users/achew22/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/achew22/subscriptions","organizations_url":"https://api.github.com/users/achew22/orgs","repos_url":"https://api.github.com/users/achew22/repos","events_url":"https://api.github.com/users/achew22/events{/privacy}","received_events_url":"https://api.github.com/users/achew22/received_events","type":"User","site_admin":false},"html_url":"https://github.com/achew22/kythe","description":"Kythe is a pluggable, (mostly) language-agnostic ecosystem for building tools that work with code.","fork":true,"url":"https://api.github.com/repos/achew22/kythe","forks_url":"https://api.github.com/repos/achew22/kythe/forks","keys_url":"https://api.github.com/repos/achew22/kythe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/achew22/kythe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/achew22/kythe/teams","hooks_url":"https://api.github.com/repos/achew22/kythe/hooks","issue_events_url":"https://api.github.com/repos/achew22/kythe/issues/events{/number}","events_url":"https://api.github.com/repos/achew22/kythe/events","assignees_url":"https://api.github.com/repos/achew22/kythe/assignees{/user}","branches_url":"https://api.github.com/repos/achew22/kythe/branches{/branch}","tags_url":"https://api.github.com/repos/achew22/kythe/tags","blobs_url":"https://api.github.com/repos/achew22/kythe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/achew22/kythe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/achew22/kythe/git/refs{/sha}","trees_url":"https://api.github.com/repos/achew22/kythe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/achew22/kythe/statuses/{sha}","languages_url":"https://api.github.com/repos/achew22/kythe/languages","stargazers_url":"https://api.github.com/repos/achew22/kythe/stargazers","contributors_url":"https://api.github.com/repos/achew22/kythe/contributors","subscribers_url":"https://api.github.com/repos/achew22/kythe/subscribers","subscription_url":"https://api.github.com/repos/achew22/kythe/subscription","commits_url":"https://api.github.com/repos/achew22/kythe/commits{/sha}","git_commits_url":"https://api.github.com/repos/achew22/kythe/git/commits{/sha}","comments_url":"https://api.github.com/repos/achew22/kythe/comments{/number}","issue_comment_url":"https://api.github.com/repos/achew22/kythe/issues/comments{/number}","contents_url":"https://api.github.com/repos/achew22/kythe/contents/{+path}","compare_url":"https://api.github.com/repos/achew22/kythe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/achew22/kythe/merges","archive_url":"https://api.github.com/repos/achew22/kythe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/achew22/kythe/downloads","issues_url":"https://api.github.com/repos/achew22/kythe/issues{/number}","pulls_url":"https://api.github.com/repos/achew22/kythe/pulls{/number}","milestones_url":"https://api.github.com/repos/achew22/kythe/milestones{/number}","notifications_url":"https://api.github.com/repos/achew22/kythe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/achew22/kythe/labels{/name}","releases_url":"https://api.github.com/repos/achew22/kythe/releases{/id}","deployments_url":"https://api.github.com/repos/achew22/kythe/deployments","created_at":"2017-09-23T20:07:11Z","updated_at":"2018-11-18T01:12:23Z","pushed_at":"2018-11-18T01:29:05Z","git_url":"git://github.com/achew22/kythe.git","ssh_url":"git@github.com:achew22/kythe.git","clone_url":"https://github.com/achew22/kythe.git","svn_url":"https://github.com/achew22/kythe","homepage":"https://kythe.io","size":171551,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kythe:master","ref":"master","sha":"5f5187348c218b948caf46b7a74fc528ccf0630e","user":{"login":"kythe","id":44679334,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ0Njc5MzM0","avatar_url":"https://avatars3.githubusercontent.com/u/44679334?v=4","gravatar_id":"","url":"https://api.github.com/users/kythe","html_url":"https://github.com/kythe","followers_url":"https://api.github.com/users/kythe/followers","following_url":"https://api.github.com/users/kythe/following{/other_user}","gists_url":"https://api.github.com/users/kythe/gists{/gist_id}","starred_url":"https://api.github.com/users/kythe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kythe/subscriptions","organizations_url":"https://api.github.com/users/kythe/orgs","repos_url":"https://api.github.com/users/kythe/repos","events_url":"https://api.github.com/users/kythe/events{/privacy}","received_events_url":"https://api.github.com/users/kythe/received_events","type":"Organization","site_admin":false},"repo":{"id":29174627,"node_id":"MDEwOlJlcG9zaXRvcnkyOTE3NDYyNw==","name":"kythe","full_name":"kythe/kythe","private":false,"owner":{"login":"kythe","id":44679334,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ0Njc5MzM0","avatar_url":"https://avatars3.githubusercontent.com/u/44679334?v=4","gravatar_id":"","url":"https://api.github.com/users/kythe","html_url":"https://github.com/kythe","followers_url":"https://api.github.com/users/kythe/followers","following_url":"https://api.github.com/users/kythe/following{/other_user}","gists_url":"https://api.github.com/users/kythe/gists{/gist_id}","starred_url":"https://api.github.com/users/kythe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kythe/subscriptions","organizations_url":"https://api.github.com/users/kythe/orgs","repos_url":"https://api.github.com/users/kythe/repos","events_url":"https://api.github.com/users/kythe/events{/privacy}","received_events_url":"https://api.github.com/users/kythe/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kythe/kythe","description":"Kythe is a pluggable, (mostly) language-agnostic ecosystem for building tools that work with code.","fork":false,"url":"https://api.github.com/repos/kythe/kythe","forks_url":"https://api.github.com/repos/kythe/kythe/forks","keys_url":"https://api.github.com/repos/kythe/kythe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kythe/kythe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kythe/kythe/teams","hooks_url":"https://api.github.com/repos/kythe/kythe/hooks","issue_events_url":"https://api.github.com/repos/kythe/kythe/issues/events{/number}","events_url":"https://api.github.com/repos/kythe/kythe/events","assignees_url":"https://api.github.com/repos/kythe/kythe/assignees{/user}","branches_url":"https://api.github.com/repos/kythe/kythe/branches{/branch}","tags_url":"https://api.github.com/repos/kythe/kythe/tags","blobs_url":"https://api.github.com/repos/kythe/kythe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kythe/kythe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kythe/kythe/git/refs{/sha}","trees_url":"https://api.github.com/repos/kythe/kythe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kythe/kythe/statuses/{sha}","languages_url":"https://api.github.com/repos/kythe/kythe/languages","stargazers_url":"https://api.github.com/repos/kythe/kythe/stargazers","contributors_url":"https://api.github.com/repos/kythe/kythe/contributors","subscribers_url":"https://api.github.com/repos/kythe/kythe/subscribers","subscription_url":"https://api.github.com/repos/kythe/kythe/subscription","commits_url":"https://api.github.com/repos/kythe/kythe/commits{/sha}","git_commits_url":"https://api.github.com/repos/kythe/kythe/git/commits{/sha}","comments_url":"https://api.github.com/repos/kythe/kythe/comments{/number}","issue_comment_url":"https://api.github.com/repos/kythe/kythe/issues/comments{/number}","contents_url":"https://api.github.com/repos/kythe/kythe/contents/{+path}","compare_url":"https://api.github.com/repos/kythe/kythe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kythe/kythe/merges","archive_url":"https://api.github.com/repos/kythe/kythe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kythe/kythe/downloads","issues_url":"https://api.github.com/repos/kythe/kythe/issues{/number}","pulls_url":"https://api.github.com/repos/kythe/kythe/pulls{/number}","milestones_url":"https://api.github.com/repos/kythe/kythe/milestones{/number}","notifications_url":"https://api.github.com/repos/kythe/kythe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kythe/kythe/labels{/name}","releases_url":"https://api.github.com/repos/kythe/kythe/releases{/id}","deployments_url":"https://api.github.com/repos/kythe/kythe/deployments","created_at":"2015-01-13T05:39:06Z","updated_at":"2018-11-20T01:49:01Z","pushed_at":"2018-11-19T23:37:09Z","git_url":"git://github.com/kythe/kythe.git","ssh_url":"git@github.com:kythe/kythe.git","clone_url":"https://github.com/kythe/kythe.git","svn_url":"https://github.com/kythe/kythe","homepage":"https://kythe.io","size":171557,"stargazers_count":1106,"watchers_count":1106,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":142,"mirror_url":null,"archived":false,"open_issues_count":178,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":142,"open_issues":178,"watchers":1106,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kythe/kythe/pulls/3263"},"html":{"href":"https://github.com/kythe/kythe/pull/3263"},"issue":{"href":"https://api.github.com/repos/kythe/kythe/issues/3263"},"comments":{"href":"https://api.github.com/repos/kythe/kythe/issues/3263/comments"},"review_comments":{"href":"https://api.github.com/repos/kythe/kythe/pulls/3263/comments"},"review_comment":{"href":"https://api.github.com/repos/kythe/kythe/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kythe/kythe/pulls/3263/commits"},"statuses":{"href":"https://api.github.com/repos/kythe/kythe/statuses/98fa08d0bbc8366f36853883629e2ba7e518aea9"}},"author_association":"NONE"}}
{"actor":{"display_login":"achew22"}}