GitHub PullRequestReviewCommentEvent at 2014-09-11 12:37:50
Repository: harpoon
Actor: jmyounker
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/soundcloud/harpoon/pulls/comments/17418017","id":17418017,"diff_hunk":"@@ -0,0 +1,66 @@\n+package main\n+\n+import (\n+\t\"testing\"\n+)\n+\n+type artifactDetailsTest struct {\n+\turl                 string\n+\texpectedPath        string\n+\texpectedCompression string\n+}\n+\n+func TestValidArtifactURLs(t *testing.T) {\n+\ttests := []artifactDetailsTest{\n+\t\tartifactDetailsTest{\n+\t\t\turl:                 \"http://foo/bar.tar\",\n+\t\t\texpectedPath:        \"/srv/harpoon/artifacts/foo/bar\",\n+\t\t\texpectedCompression: \"\",\n+\t\t},\n+\t\tartifactDetailsTest{\n+\t\t\turl:                 \"http://foo/bar.tgz\",\n+\t\t\texpectedPath:        \"/srv/harpoon/artifacts/foo/bar\",\n+\t\t\texpectedCompression: \"z\",\n+\t\t},\n+\t\tartifactDetailsTest{\n+\t\t\turl:                 \"http://foo/bar.tar.gz\",\n+\t\t\texpectedPath:        \"/srv/harpoon/artifacts/foo/bar\",\n+\t\t\texpectedCompression: \"z\",\n+\t\t},\n+\t\tartifactDetailsTest{\n+\t\t\turl:                 \"http://foo/bar.tar.bz2\",\n+\t\t\texpectedPath:        \"/srv/harpoon/artifacts/foo/bar\",\n+\t\t\texpectedCompression: \"j\",\n+\t\t},\n+\t}\n+\n+\tfor _, test := range tests {","path":"harpoon-agent/container_test.go","position":37,"original_position":37,"commit_id":"4ab113ac719191813d0f18443154fa1a7ccb4d9b","original_commit_id":"4ab113ac719191813d0f18443154fa1a7ccb4d9b","user":{"login":"jmyounker","id":882634,"avatar_url":"https://avatars.githubusercontent.com/u/882634?v=2","gravatar_id":"6ba8776fc8a4cdf3c04e5c8554ee003c","url":"https://api.github.com/users/jmyounker","html_url":"https://github.com/jmyounker","followers_url":"https://api.github.com/users/jmyounker/followers","following_url":"https://api.github.com/users/jmyounker/following{/other_user}","gists_url":"https://api.github.com/users/jmyounker/gists{/gist_id}","starred_url":"https://api.github.com/users/jmyounker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmyounker/subscriptions","organizations_url":"https://api.github.com/users/jmyounker/orgs","repos_url":"https://api.github.com/users/jmyounker/repos","events_url":"https://api.github.com/users/jmyounker/events{/privacy}","received_events_url":"https://api.github.com/users/jmyounker/received_events","type":"User","site_admin":false},"body":"Cool.  I didn't know you could do an inline struct definition for a literal.","created_at":"2014-09-11T12:37:50Z","updated_at":"2014-09-11T12:37:50Z","html_url":"https://github.com/soundcloud/harpoon/pull/51#discussion_r17418017","pull_request_url":"https://api.github.com/repos/soundcloud/harpoon/pulls/51","_links":{"self":{"href":"https://api.github.com/repos/soundcloud/harpoon/pulls/comments/17418017"},"html":{"href":"https://github.com/soundcloud/harpoon/pull/51#discussion_r17418017"},"pull_request":{"href":"https://api.github.com/repos/soundcloud/harpoon/pulls/51"}}},"pull_request":{"url":"https://api.github.com/repos/soundcloud/harpoon/pulls/51","id":21022462,"html_url":"https://github.com/soundcloud/harpoon/pull/51","diff_url":"https://github.com/soundcloud/harpoon/pull/51.diff","patch_url":"https://github.com/soundcloud/harpoon/pull/51.patch","issue_url":"https://api.github.com/repos/soundcloud/harpoon/issues/51","number":51,"state":"open","locked":false,"title":"Artifacts can now be deployed from tarballs using all compression formats.","user":{"login":"jmyounker","id":882634,"avatar_url":"https://avatars.githubusercontent.com/u/882634?v=2","gravatar_id":"6ba8776fc8a4cdf3c04e5c8554ee003c","url":"https://api.github.com/users/jmyounker","html_url":"https://github.com/jmyounker","followers_url":"https://api.github.com/users/jmyounker/followers","following_url":"https://api.github.com/users/jmyounker/following{/other_user}","gists_url":"https://api.github.com/users/jmyounker/gists{/gist_id}","starred_url":"https://api.github.com/users/jmyounker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmyounker/subscriptions","organizations_url":"https://api.github.com/users/jmyounker/orgs","repos_url":"https://api.github.com/users/jmyounker/repos","events_url":"https://api.github.com/users/jmyounker/events{/privacy}","received_events_url":"https://api.github.com/users/jmyounker/received_events","type":"User","site_admin":false},"body":"Tar doesn't have a mechanism to automagically determine compression encoding, instead using the filename to determine compression scheme. Since we're piping the artifact from HTTP directly into tar it's necessary for us to replicate this logic in order to utilize all tar compression schemes.\r\n\r\nThe supported compressions based on suffix are now no compression using \".tar\", gzip compression using \".tar.gz\" or \".tgz\", and bzip compression using \".tar.bz2\".\r\n\r\n@bernerdschaefer @peterbourgon, this is ready for review.\r\n\r\n","created_at":"2014-09-10T14:02:39Z","updated_at":"2014-09-11T12:37:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"126d6fe8adc33594f39ba9e6cf1b9c125482c364","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/soundcloud/harpoon/pulls/51/commits","review_comments_url":"https://api.github.com/repos/soundcloud/harpoon/pulls/51/comments","review_comment_url":"https://api.github.com/repos/soundcloud/harpoon/pulls/comments/{number}","comments_url":"https://api.github.com/repos/soundcloud/harpoon/issues/51/comments","statuses_url":"https://api.github.com/repos/soundcloud/harpoon/statuses/4ab113ac719191813d0f18443154fa1a7ccb4d9b","head":{"label":"soundcloud:uncompress","ref":"uncompress","sha":"4ab113ac719191813d0f18443154fa1a7ccb4d9b","user":{"login":"soundcloud","id":21021,"avatar_url":"https://avatars.githubusercontent.com/u/21021?v=2","gravatar_id":"6b7fef81eb37d969836006b41d751a32","url":"https://api.github.com/users/soundcloud","html_url":"https://github.com/soundcloud","followers_url":"https://api.github.com/users/soundcloud/followers","following_url":"https://api.github.com/users/soundcloud/following{/other_user}","gists_url":"https://api.github.com/users/soundcloud/gists{/gist_id}","starred_url":"https://api.github.com/users/soundcloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/soundcloud/subscriptions","organizations_url":"https://api.github.com/users/soundcloud/orgs","repos_url":"https://api.github.com/users/soundcloud/repos","events_url":"https://api.github.com/users/soundcloud/events{/privacy}","received_events_url":"https://api.github.com/users/soundcloud/received_events","type":"Organization","site_admin":false},"repo":{"id":21981956,"name":"harpoon","full_name":"soundcloud/harpoon","owner":{"login":"soundcloud","id":21021,"avatar_url":"https://avatars.githubusercontent.com/u/21021?v=2","gravatar_id":"6b7fef81eb37d969836006b41d751a32","url":"https://api.github.com/users/soundcloud","html_url":"https://github.com/soundcloud","followers_url":"https://api.github.com/users/soundcloud/followers","following_url":"https://api.github.com/users/soundcloud/following{/other_user}","gists_url":"https://api.github.com/users/soundcloud/gists{/gist_id}","starred_url":"https://api.github.com/users/soundcloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/soundcloud/subscriptions","organizations_url":"https://api.github.com/users/soundcloud/orgs","repos_url":"https://api.github.com/users/soundcloud/repos","events_url":"https://api.github.com/users/soundcloud/events{/privacy}","received_events_url":"https://api.github.com/users/soundcloud/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/soundcloud/harpoon","description":"A comprehensive application platform.","fork":false,"url":"https://api.github.com/repos/soundcloud/harpoon","forks_url":"https://api.github.com/repos/soundcloud/harpoon/forks","keys_url":"https://api.github.com/repos/soundcloud/harpoon/keys{/key_id}","collaborators_url":"https://api.github.com/repos/soundcloud/harpoon/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/soundcloud/harpoon/teams","hooks_url":"https://api.github.com/repos/soundcloud/harpoon/hooks","issue_events_url":"https://api.github.com/repos/soundcloud/harpoon/issues/events{/number}","events_url":"https://api.github.com/repos/soundcloud/harpoon/events","assignees_url":"https://api.github.com/repos/soundcloud/harpoon/assignees{/user}","branches_url":"https://api.github.com/repos/soundcloud/harpoon/branches{/branch}","tags_url":"https://api.github.com/repos/soundcloud/harpoon/tags","blobs_url":"https://api.github.com/repos/soundcloud/harpoon/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/soundcloud/harpoon/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/soundcloud/harpoon/git/refs{/sha}","trees_url":"https://api.github.com/repos/soundcloud/harpoon/git/trees{/sha}","statuses_url":"https://api.github.com/repos/soundcloud/harpoon/statuses/{sha}","languages_url":"https://api.github.com/repos/soundcloud/harpoon/languages","stargazers_url":"https://api.github.com/repos/soundcloud/harpoon/stargazers","contributors_url":"https://api.github.com/repos/soundcloud/harpoon/contributors","subscribers_url":"https://api.github.com/repos/soundcloud/harpoon/subscribers","subscription_url":"https://api.github.com/repos/soundcloud/harpoon/subscription","commits_url":"https://api.github.com/repos/soundcloud/harpoon/commits{/sha}","git_commits_url":"https://api.github.com/repos/soundcloud/harpoon/git/commits{/sha}","comments_url":"https://api.github.com/repos/soundcloud/harpoon/comments{/number}","issue_comment_url":"https://api.github.com/repos/soundcloud/harpoon/issues/comments/{number}","contents_url":"https://api.github.com/repos/soundcloud/harpoon/contents/{+path}","compare_url":"https://api.github.com/repos/soundcloud/harpoon/compare/{base}...{head}","merges_url":"https://api.github.com/repos/soundcloud/harpoon/merges","archive_url":"https://api.github.com/repos/soundcloud/harpoon/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/soundcloud/harpoon/downloads","issues_url":"https://api.github.com/repos/soundcloud/harpoon/issues{/number}","pulls_url":"https://api.github.com/repos/soundcloud/harpoon/pulls{/number}","milestones_url":"https://api.github.com/repos/soundcloud/harpoon/milestones{/number}","notifications_url":"https://api.github.com/repos/soundcloud/harpoon/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/soundcloud/harpoon/labels{/name}","releases_url":"https://api.github.com/repos/soundcloud/harpoon/releases{/id}","created_at":"2014-07-18T13:54:47Z","updated_at":"2014-09-11T11:58:34Z","pushed_at":"2014-09-11T09:17:16Z","git_url":"git://github.com/soundcloud/harpoon.git","ssh_url":"git@github.com:soundcloud/harpoon.git","clone_url":"https://github.com/soundcloud/harpoon.git","svn_url":"https://github.com/soundcloud/harpoon","homepage":null,"size":2339,"stargazers_count":38,"watchers_count":38,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":1,"mirror_url":null,"open_issues_count":12,"forks":1,"open_issues":12,"watchers":38,"default_branch":"master"}},"base":{"label":"soundcloud:master","ref":"master","sha":"bfc92b1ed5aaa2527adf230b509a91dc6b2ef331","user":{"login":"soundcloud","id":21021,"avatar_url":"https://avatars.githubusercontent.com/u/21021?v=2","gravatar_id":"6b7fef81eb37d969836006b41d751a32","url":"https://api.github.com/users/soundcloud","html_url":"https://github.com/soundcloud","followers_url":"https://api.github.com/users/soundcloud/followers","following_url":"https://api.github.com/users/soundcloud/following{/other_user}","gists_url":"https://api.github.com/users/soundcloud/gists{/gist_id}","starred_url":"https://api.github.com/users/soundcloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/soundcloud/subscriptions","organizations_url":"https://api.github.com/users/soundcloud/orgs","repos_url":"https://api.github.com/users/soundcloud/repos","events_url":"https://api.github.com/users/soundcloud/events{/privacy}","received_events_url":"https://api.github.com/users/soundcloud/received_events","type":"Organization","site_admin":false},"repo":{"id":21981956,"name":"harpoon","full_name":"soundcloud/harpoon","owner":{"login":"soundcloud","id":21021,"avatar_url":"https://avatars.githubusercontent.com/u/21021?v=2","gravatar_id":"6b7fef81eb37d969836006b41d751a32","url":"https://api.github.com/users/soundcloud","html_url":"https://github.com/soundcloud","followers_url":"https://api.github.com/users/soundcloud/followers","following_url":"https://api.github.com/users/soundcloud/following{/other_user}","gists_url":"https://api.github.com/users/soundcloud/gists{/gist_id}","starred_url":"https://api.github.com/users/soundcloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/soundcloud/subscriptions","organizations_url":"https://api.github.com/users/soundcloud/orgs","repos_url":"https://api.github.com/users/soundcloud/repos","events_url":"https://api.github.com/users/soundcloud/events{/privacy}","received_events_url":"https://api.github.com/users/soundcloud/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/soundcloud/harpoon","description":"A comprehensive application platform.","fork":false,"url":"https://api.github.com/repos/soundcloud/harpoon","forks_url":"https://api.github.com/repos/soundcloud/harpoon/forks","keys_url":"https://api.github.com/repos/soundcloud/harpoon/keys{/key_id}","collaborators_url":"https://api.github.com/repos/soundcloud/harpoon/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/soundcloud/harpoon/teams","hooks_url":"https://api.github.com/repos/soundcloud/harpoon/hooks","issue_events_url":"https://api.github.com/repos/soundcloud/harpoon/issues/events{/number}","events_url":"https://api.github.com/repos/soundcloud/harpoon/events","assignees_url":"https://api.github.com/repos/soundcloud/harpoon/assignees{/user}","branches_url":"https://api.github.com/repos/soundcloud/harpoon/branches{/branch}","tags_url":"https://api.github.com/repos/soundcloud/harpoon/tags","blobs_url":"https://api.github.com/repos/soundcloud/harpoon/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/soundcloud/harpoon/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/soundcloud/harpoon/git/refs{/sha}","trees_url":"https://api.github.com/repos/soundcloud/harpoon/git/trees{/sha}","statuses_url":"https://api.github.com/repos/soundcloud/harpoon/statuses/{sha}","languages_url":"https://api.github.com/repos/soundcloud/harpoon/languages","stargazers_url":"https://api.github.com/repos/soundcloud/harpoon/stargazers","contributors_url":"https://api.github.com/repos/soundcloud/harpoon/contributors","subscribers_url":"https://api.github.com/repos/soundcloud/harpoon/subscribers","subscription_url":"https://api.github.com/repos/soundcloud/harpoon/subscription","commits_url":"https://api.github.com/repos/soundcloud/harpoon/commits{/sha}","git_commits_url":"https://api.github.com/repos/soundcloud/harpoon/git/commits{/sha}","comments_url":"https://api.github.com/repos/soundcloud/harpoon/comments{/number}","issue_comment_url":"https://api.github.com/repos/soundcloud/harpoon/issues/comments/{number}","contents_url":"https://api.github.com/repos/soundcloud/harpoon/contents/{+path}","compare_url":"https://api.github.com/repos/soundcloud/harpoon/compare/{base}...{head}","merges_url":"https://api.github.com/repos/soundcloud/harpoon/merges","archive_url":"https://api.github.com/repos/soundcloud/harpoon/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/soundcloud/harpoon/downloads","issues_url":"https://api.github.com/repos/soundcloud/harpoon/issues{/number}","pulls_url":"https://api.github.com/repos/soundcloud/harpoon/pulls{/number}","milestones_url":"https://api.github.com/repos/soundcloud/harpoon/milestones{/number}","notifications_url":"https://api.github.com/repos/soundcloud/harpoon/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/soundcloud/harpoon/labels{/name}","releases_url":"https://api.github.com/repos/soundcloud/harpoon/releases{/id}","created_at":"2014-07-18T13:54:47Z","updated_at":"2014-09-11T11:58:34Z","pushed_at":"2014-09-11T09:17:16Z","git_url":"git://github.com/soundcloud/harpoon.git","ssh_url":"git@github.com:soundcloud/harpoon.git","clone_url":"https://github.com/soundcloud/harpoon.git","svn_url":"https://github.com/soundcloud/harpoon","homepage":null,"size":2339,"stargazers_count":38,"watchers_count":38,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":1,"mirror_url":null,"open_issues_count":12,"forks":1,"open_issues":12,"watchers":38,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/soundcloud/harpoon/pulls/51"},"html":{"href":"https://github.com/soundcloud/harpoon/pull/51"},"issue":{"href":"https://api.github.com/repos/soundcloud/harpoon/issues/51"},"comments":{"href":"https://api.github.com/repos/soundcloud/harpoon/issues/51/comments"},"review_comments":{"href":"https://api.github.com/repos/soundcloud/harpoon/pulls/51/comments"},"review_comment":{"href":"https://api.github.com/repos/soundcloud/harpoon/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/soundcloud/harpoon/pulls/51/commits"},"statuses":{"href":"https://api.github.com/repos/soundcloud/harpoon/statuses/4ab113ac719191813d0f18443154fa1a7ccb4d9b"}}}}