{"action":"created","comment":{"url":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/comments/53093096","id":53093096,"diff_hunk":"@@ -0,0 +1,47 @@\n+// This source code file is AUTO-GENERATED by github.com/taskcluster/jsonschema2go\n+\n+package docker\n+\n+import \"github.com/taskcluster/taskcluster-worker/runtime\"\n+\n+type (\n+\t// Config applicable to docker engine\n+\tConfig struct {\n+\n+\t\t// Root Volume blah blah\n+\t\tRootVolume string `json:\"rootVolume\"`\n+\t}\n+)\n+\n+func ConfigSchema() runtime.CompositeSchema {","path":"engines/docker/generated_configschema.go","position":16,"original_position":16,"commit_id":"90b9ca106e4286b01e97d5cd0f86f232bc61735a","original_commit_id":"fba70c02e61ed7b06d9c4cca150de62bad467d3b","user":{"login":"jonasfj","id":149732,"avatar_url":"https://avatars.githubusercontent.com/u/149732?v=3","gravatar_id":"","url":"https://api.github.com/users/jonasfj","html_url":"https://github.com/jonasfj","followers_url":"https://api.github.com/users/jonasfj/followers","following_url":"https://api.github.com/users/jonasfj/following{/other_user}","gists_url":"https://api.github.com/users/jonasfj/gists{/gist_id}","starred_url":"https://api.github.com/users/jonasfj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonasfj/subscriptions","organizations_url":"https://api.github.com/users/jonasfj/orgs","repos_url":"https://api.github.com/users/jonasfj/repos","events_url":"https://api.github.com/users/jonasfj/events{/privacy}","received_events_url":"https://api.github.com/users/jonasfj/received_events","type":"User","site_admin":false},"body":">  Or would something call that function at startup?\r\n\r\nThe pattern I wrote here:\r\n`var configSchema = func() runtime.CompositeSchema { .... return ... ; }()`\r\nNotice the subtle `}()` that the end... I'm actually setting `configSchema` to be the result of an anonymous function that is immediately invoked :)\r\n\r\nSo it'll be executed before `main()` is called.","created_at":"2016-02-16T22:48:32Z","updated_at":"2016-02-16T22:48:32Z","html_url":"https://github.com/taskcluster/taskcluster-worker/pull/21#discussion_r53093096","pull_request_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/21","_links":{"self":{"href":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/comments/53093096"},"html":{"href":"https://github.com/taskcluster/taskcluster-worker/pull/21#discussion_r53093096"},"pull_request":{"href":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/21"}}},"pull_request":{"url":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/21","id":58905944,"html_url":"https://github.com/taskcluster/taskcluster-worker/pull/21","diff_url":"https://github.com/taskcluster/taskcluster-worker/pull/21.diff","patch_url":"https://github.com/taskcluster/taskcluster-worker/pull/21.patch","issue_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues/21","number":21,"state":"open","locked":false,"title":"Work in progress to auto-generate code","user":{"login":"petemoore","id":190790,"avatar_url":"https://avatars.githubusercontent.com/u/190790?v=3","gravatar_id":"","url":"https://api.github.com/users/petemoore","html_url":"https://github.com/petemoore","followers_url":"https://api.github.com/users/petemoore/followers","following_url":"https://api.github.com/users/petemoore/following{/other_user}","gists_url":"https://api.github.com/users/petemoore/gists{/gist_id}","starred_url":"https://api.github.com/users/petemoore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petemoore/subscriptions","organizations_url":"https://api.github.com/users/petemoore/orgs","repos_url":"https://api.github.com/users/petemoore/repos","events_url":"https://api.github.com/users/petemoore/events{/privacy}","received_events_url":"https://api.github.com/users/petemoore/received_events","type":"User","site_admin":false},"body":"@jonasfj @gregarndt \r\n\r\nWork in progress to auto-generate code based on json schema for engine config, plugin config, and plugin payload schema config...\r\n\r\nRaising PR before work is done so interested parties can see what I am playing with. I'll add a comment when it is ready for formal review and is complete - it is just my work in progress at the moment.","created_at":"2016-02-10T15:27:56Z","updated_at":"2016-02-16T22:48:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7dab8aa48f6c30a698780a201ee3efbde072fa57","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/21/commits","review_comments_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/21/comments","review_comment_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues/21/comments","statuses_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/statuses/90b9ca106e4286b01e97d5cd0f86f232bc61735a","head":{"label":"taskcluster:jsonschema2go","ref":"jsonschema2go","sha":"90b9ca106e4286b01e97d5cd0f86f232bc61735a","user":{"login":"taskcluster","id":6257436,"avatar_url":"https://avatars.githubusercontent.com/u/6257436?v=3","gravatar_id":"","url":"https://api.github.com/users/taskcluster","html_url":"https://github.com/taskcluster","followers_url":"https://api.github.com/users/taskcluster/followers","following_url":"https://api.github.com/users/taskcluster/following{/other_user}","gists_url":"https://api.github.com/users/taskcluster/gists{/gist_id}","starred_url":"https://api.github.com/users/taskcluster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taskcluster/subscriptions","organizations_url":"https://api.github.com/users/taskcluster/orgs","repos_url":"https://api.github.com/users/taskcluster/repos","events_url":"https://api.github.com/users/taskcluster/events{/privacy}","received_events_url":"https://api.github.com/users/taskcluster/received_events","type":"Organization","site_admin":false},"repo":{"id":43515791,"name":"taskcluster-worker","full_name":"taskcluster/taskcluster-worker","owner":{"login":"taskcluster","id":6257436,"avatar_url":"https://avatars.githubusercontent.com/u/6257436?v=3","gravatar_id":"","url":"https://api.github.com/users/taskcluster","html_url":"https://github.com/taskcluster","followers_url":"https://api.github.com/users/taskcluster/followers","following_url":"https://api.github.com/users/taskcluster/following{/other_user}","gists_url":"https://api.github.com/users/taskcluster/gists{/gist_id}","starred_url":"https://api.github.com/users/taskcluster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taskcluster/subscriptions","organizations_url":"https://api.github.com/users/taskcluster/orgs","repos_url":"https://api.github.com/users/taskcluster/repos","events_url":"https://api.github.com/users/taskcluster/events{/privacy}","received_events_url":"https://api.github.com/users/taskcluster/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/taskcluster/taskcluster-worker","description":"Primary worker for TaskCluster","fork":false,"url":"https://api.github.com/repos/taskcluster/taskcluster-worker","forks_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/forks","keys_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/teams","hooks_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/hooks","issue_events_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues/events{/number}","events_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/events","assignees_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/assignees{/user}","branches_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/branches{/branch}","tags_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/tags","blobs_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/refs{/sha}","trees_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/statuses/{sha}","languages_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/languages","stargazers_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/stargazers","contributors_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/contributors","subscribers_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/subscribers","subscription_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/subscription","commits_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/commits{/sha}","git_commits_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/commits{/sha}","comments_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/comments{/number}","issue_comment_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues/comments{/number}","contents_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/contents/{+path}","compare_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/merges","archive_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/downloads","issues_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues{/number}","pulls_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls{/number}","milestones_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/milestones{/number}","notifications_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/labels{/name}","releases_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/releases{/id}","deployments_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/deployments","created_at":"2015-10-01T19:15:39Z","updated_at":"2016-01-21T19:21:21Z","pushed_at":"2016-02-16T17:55:24Z","git_url":"git://github.com/taskcluster/taskcluster-worker.git","ssh_url":"git@github.com:taskcluster/taskcluster-worker.git","clone_url":"https://github.com/taskcluster/taskcluster-worker.git","svn_url":"https://github.com/taskcluster/taskcluster-worker","homepage":"https://godoc.org/github.com/taskcluster/taskcluster-worker","size":217,"stargazers_count":4,"watchers_count":4,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":4,"default_branch":"master"}},"base":{"label":"taskcluster:master","ref":"master","sha":"c145ffcc306f50f4865b0808541d600df6b310fe","user":{"login":"taskcluster","id":6257436,"avatar_url":"https://avatars.githubusercontent.com/u/6257436?v=3","gravatar_id":"","url":"https://api.github.com/users/taskcluster","html_url":"https://github.com/taskcluster","followers_url":"https://api.github.com/users/taskcluster/followers","following_url":"https://api.github.com/users/taskcluster/following{/other_user}","gists_url":"https://api.github.com/users/taskcluster/gists{/gist_id}","starred_url":"https://api.github.com/users/taskcluster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taskcluster/subscriptions","organizations_url":"https://api.github.com/users/taskcluster/orgs","repos_url":"https://api.github.com/users/taskcluster/repos","events_url":"https://api.github.com/users/taskcluster/events{/privacy}","received_events_url":"https://api.github.com/users/taskcluster/received_events","type":"Organization","site_admin":false},"repo":{"id":43515791,"name":"taskcluster-worker","full_name":"taskcluster/taskcluster-worker","owner":{"login":"taskcluster","id":6257436,"avatar_url":"https://avatars.githubusercontent.com/u/6257436?v=3","gravatar_id":"","url":"https://api.github.com/users/taskcluster","html_url":"https://github.com/taskcluster","followers_url":"https://api.github.com/users/taskcluster/followers","following_url":"https://api.github.com/users/taskcluster/following{/other_user}","gists_url":"https://api.github.com/users/taskcluster/gists{/gist_id}","starred_url":"https://api.github.com/users/taskcluster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taskcluster/subscriptions","organizations_url":"https://api.github.com/users/taskcluster/orgs","repos_url":"https://api.github.com/users/taskcluster/repos","events_url":"https://api.github.com/users/taskcluster/events{/privacy}","received_events_url":"https://api.github.com/users/taskcluster/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/taskcluster/taskcluster-worker","description":"Primary worker for TaskCluster","fork":false,"url":"https://api.github.com/repos/taskcluster/taskcluster-worker","forks_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/forks","keys_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/teams","hooks_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/hooks","issue_events_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues/events{/number}","events_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/events","assignees_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/assignees{/user}","branches_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/branches{/branch}","tags_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/tags","blobs_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/refs{/sha}","trees_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/statuses/{sha}","languages_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/languages","stargazers_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/stargazers","contributors_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/contributors","subscribers_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/subscribers","subscription_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/subscription","commits_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/commits{/sha}","git_commits_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/git/commits{/sha}","comments_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/comments{/number}","issue_comment_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues/comments{/number}","contents_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/contents/{+path}","compare_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/merges","archive_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/downloads","issues_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues{/number}","pulls_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls{/number}","milestones_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/milestones{/number}","notifications_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/labels{/name}","releases_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/releases{/id}","deployments_url":"https://api.github.com/repos/taskcluster/taskcluster-worker/deployments","created_at":"2015-10-01T19:15:39Z","updated_at":"2016-01-21T19:21:21Z","pushed_at":"2016-02-16T17:55:24Z","git_url":"git://github.com/taskcluster/taskcluster-worker.git","ssh_url":"git@github.com:taskcluster/taskcluster-worker.git","clone_url":"https://github.com/taskcluster/taskcluster-worker.git","svn_url":"https://github.com/taskcluster/taskcluster-worker","homepage":"https://godoc.org/github.com/taskcluster/taskcluster-worker","size":217,"stargazers_count":4,"watchers_count":4,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/21"},"html":{"href":"https://github.com/taskcluster/taskcluster-worker/pull/21"},"issue":{"href":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues/21"},"comments":{"href":"https://api.github.com/repos/taskcluster/taskcluster-worker/issues/21/comments"},"review_comments":{"href":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/21/comments"},"review_comment":{"href":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/taskcluster/taskcluster-worker/pulls/21/commits"},"statuses":{"href":"https://api.github.com/repos/taskcluster/taskcluster-worker/statuses/90b9ca106e4286b01e97d5cd0f86f232bc61735a"}}}}