{"action":"closed","number":505,"pull_request":{"url":"https://api.github.com/repos/puppetlabs/puppet-agent/pulls/505","id":57020165,"html_url":"https://github.com/puppetlabs/puppet-agent/pull/505","diff_url":"https://github.com/puppetlabs/puppet-agent/pull/505.diff","patch_url":"https://github.com/puppetlabs/puppet-agent/pull/505.patch","issue_url":"https://api.github.com/repos/puppetlabs/puppet-agent/issues/505","number":505,"state":"closed","locked":false,"title":"(DO NOT MERGE) (maint) Add a rake task to verify tagged components","user":{"login":"joshcooper","id":737664,"avatar_url":"https://avatars.githubusercontent.com/u/737664?v=3","gravatar_id":"","url":"https://api.github.com/users/joshcooper","html_url":"https://github.com/joshcooper","followers_url":"https://api.github.com/users/joshcooper/followers","following_url":"https://api.github.com/users/joshcooper/following{/other_user}","gists_url":"https://api.github.com/users/joshcooper/gists{/gist_id}","starred_url":"https://api.github.com/users/joshcooper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshcooper/subscriptions","organizations_url":"https://api.github.com/users/joshcooper/orgs","repos_url":"https://api.github.com/users/joshcooper/repos","events_url":"https://api.github.com/users/joshcooper/events{/privacy}","received_events_url":"https://api.github.com/users/joshcooper/received_events","type":"User","site_admin":false},"body":"This commit adds a `release:tag_check` rake task to verify components\r\nare tagged correctly. You'll want to pull the latest puppet-agent before\r\nrunning the task:\r\n\r\n    $ git pull upstream stable\r\n    $ bundle exec rake release:tag_check\r\n\r\nIf a component refers to a non-existent tag, an error is reported:\r\n\r\n    hiera 3.0.7:                                                      [ FAIL ]\r\n      Tag doesn't exist\r\n\r\nIf a component's tag is not in the standard `refs/tags/1.2.3` form, an\r\nerror is reported:\r\n\r\n    puppet 4.3.2:                                                     [ FAIL ]\r\n      Tag '4.3.2' is not of the form 'refs/tags/4.3.2'\r\n\r\nIf a component is not pinned to a tag, an error is reported:\r\n\r\n    pxp-agent stable:                                                 [ FAIL ]\r\n      Tag 'stable' is invalid\r\n\r\nIf a component's tag points to a commit and the commit is not the head\r\nof the stable branch, a warning is reported, along with the SHAs of the\r\ntag and branch:\r\n\r\n    cpp-pcp-client 1.0.1:                                             [ WARN ]\r\n      Additional commits on branch 'stable'\r\n        tag    : 9c4db665c5 (1.0.1)\r\n          └->  : 0a90ea7849\r\n        branch : bee31d1b81 (stable)\r\n\r\nIf a component is missing a URL, an error is reported:\r\n\r\n    nssm:                                                             [ FAIL ]\r\n      URL is missing\r\n\r\nIf a component has a URL, but no `ref`, such as nssm, then the component\r\nis skipped:\r\n\r\n    nssm <none>:                                                      [ SKIP ]\r\n\r\nOtherwise, if a component's tag points to the head of the branch, then\r\nOK is printed:\r\n\r\n    facter 3.1.4:                                                     [ OK  ]\r\n\r\nNote some repos don't follow the stable branching scheme, e.g. mco uses\r\n2.8.x, so the rake task compares against the equivalent \"stable\" branch\r\nfor those repos.\r\n\r\nThe puppet-win32-ruby repo is special since it is effectively two\r\ncomponents, for x86 and x64 ruby, and the rake task will check both.\r\n\r\nGithub will rate limit unauthenticated requests, so you may need to\r\ncreate a personal github access token, and set the `GITHUB_AUTH_TOKEN`\r\nenvironment variable to the value of the token.","created_at":"2016-01-25T01:10:52Z","updated_at":"2016-02-11T00:49:13Z","closed_at":"2016-02-11T00:49:13Z","merged_at":null,"merge_commit_sha":"7df20b26d5562ee044f163430d697a996129627c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/puppetlabs/puppet-agent/pulls/505/commits","review_comments_url":"https://api.github.com/repos/puppetlabs/puppet-agent/pulls/505/comments","review_comment_url":"https://api.github.com/repos/puppetlabs/puppet-agent/pulls/comments{/number}","comments_url":"https://api.github.com/repos/puppetlabs/puppet-agent/issues/505/comments","statuses_url":"https://api.github.com/repos/puppetlabs/puppet-agent/statuses/d3e4cfab708b27f38b6b640de97a5fb25b69eaa3","head":{"label":"joshcooper:maint/stable/tag-checker","ref":"maint/stable/tag-checker","sha":"d3e4cfab708b27f38b6b640de97a5fb25b69eaa3","user":{"login":"joshcooper","id":737664,"avatar_url":"https://avatars.githubusercontent.com/u/737664?v=3","gravatar_id":"","url":"https://api.github.com/users/joshcooper","html_url":"https://github.com/joshcooper","followers_url":"https://api.github.com/users/joshcooper/followers","following_url":"https://api.github.com/users/joshcooper/following{/other_user}","gists_url":"https://api.github.com/users/joshcooper/gists{/gist_id}","starred_url":"https://api.github.com/users/joshcooper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshcooper/subscriptions","organizations_url":"https://api.github.com/users/joshcooper/orgs","repos_url":"https://api.github.com/users/joshcooper/repos","events_url":"https://api.github.com/users/joshcooper/events{/privacy}","received_events_url":"https://api.github.com/users/joshcooper/received_events","type":"User","site_admin":false},"repo":{"id":48139408,"name":"puppet-agent","full_name":"joshcooper/puppet-agent","owner":{"login":"joshcooper","id":737664,"avatar_url":"https://avatars.githubusercontent.com/u/737664?v=3","gravatar_id":"","url":"https://api.github.com/users/joshcooper","html_url":"https://github.com/joshcooper","followers_url":"https://api.github.com/users/joshcooper/followers","following_url":"https://api.github.com/users/joshcooper/following{/other_user}","gists_url":"https://api.github.com/users/joshcooper/gists{/gist_id}","starred_url":"https://api.github.com/users/joshcooper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshcooper/subscriptions","organizations_url":"https://api.github.com/users/joshcooper/orgs","repos_url":"https://api.github.com/users/joshcooper/repos","events_url":"https://api.github.com/users/joshcooper/events{/privacy}","received_events_url":"https://api.github.com/users/joshcooper/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/joshcooper/puppet-agent","description":"All of the directions for building a puppet agent package.","fork":true,"url":"https://api.github.com/repos/joshcooper/puppet-agent","forks_url":"https://api.github.com/repos/joshcooper/puppet-agent/forks","keys_url":"https://api.github.com/repos/joshcooper/puppet-agent/keys{/key_id}","collaborators_url":"https://api.github.com/repos/joshcooper/puppet-agent/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/joshcooper/puppet-agent/teams","hooks_url":"https://api.github.com/repos/joshcooper/puppet-agent/hooks","issue_events_url":"https://api.github.com/repos/joshcooper/puppet-agent/issues/events{/number}","events_url":"https://api.github.com/repos/joshcooper/puppet-agent/events","assignees_url":"https://api.github.com/repos/joshcooper/puppet-agent/assignees{/user}","branches_url":"https://api.github.com/repos/joshcooper/puppet-agent/branches{/branch}","tags_url":"https://api.github.com/repos/joshcooper/puppet-agent/tags","blobs_url":"https://api.github.com/repos/joshcooper/puppet-agent/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/joshcooper/puppet-agent/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/joshcooper/puppet-agent/git/refs{/sha}","trees_url":"https://api.github.com/repos/joshcooper/puppet-agent/git/trees{/sha}","statuses_url":"https://api.github.com/repos/joshcooper/puppet-agent/statuses/{sha}","languages_url":"https://api.github.com/repos/joshcooper/puppet-agent/languages","stargazers_url":"https://api.github.com/repos/joshcooper/puppet-agent/stargazers","contributors_url":"https://api.github.com/repos/joshcooper/puppet-agent/contributors","subscribers_url":"https://api.github.com/repos/joshcooper/puppet-agent/subscribers","subscription_url":"https://api.github.com/repos/joshcooper/puppet-agent/subscription","commits_url":"https://api.github.com/repos/joshcooper/puppet-agent/commits{/sha}","git_commits_url":"https://api.github.com/repos/joshcooper/puppet-agent/git/commits{/sha}","comments_url":"https://api.github.com/repos/joshcooper/puppet-agent/comments{/number}","issue_comment_url":"https://api.github.com/repos/joshcooper/puppet-agent/issues/comments{/number}","contents_url":"https://api.github.com/repos/joshcooper/puppet-agent/contents/{+path}","compare_url":"https://api.github.com/repos/joshcooper/puppet-agent/compare/{base}...{head}","merges_url":"https://api.github.com/repos/joshcooper/puppet-agent/merges","archive_url":"https://api.github.com/repos/joshcooper/puppet-agent/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/joshcooper/puppet-agent/downloads","issues_url":"https://api.github.com/repos/joshcooper/puppet-agent/issues{/number}","pulls_url":"https://api.github.com/repos/joshcooper/puppet-agent/pulls{/number}","milestones_url":"https://api.github.com/repos/joshcooper/puppet-agent/milestones{/number}","notifications_url":"https://api.github.com/repos/joshcooper/puppet-agent/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/joshcooper/puppet-agent/labels{/name}","releases_url":"https://api.github.com/repos/joshcooper/puppet-agent/releases{/id}","deployments_url":"https://api.github.com/repos/joshcooper/puppet-agent/deployments","created_at":"2015-12-16T22:44:22Z","updated_at":"2015-12-16T22:44:22Z","pushed_at":"2016-01-25T01:09:24Z","git_url":"git://github.com/joshcooper/puppet-agent.git","ssh_url":"git@github.com:joshcooper/puppet-agent.git","clone_url":"https://github.com/joshcooper/puppet-agent.git","svn_url":"https://github.com/joshcooper/puppet-agent","homepage":null,"size":3144,"stargazers_count":0,"watchers_count":0,"language":"Groff","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"puppetlabs:stable","ref":"stable","sha":"2c15cafc29981375f8784fbd61c71a17e8bc90f0","user":{"login":"puppetlabs","id":234268,"avatar_url":"https://avatars.githubusercontent.com/u/234268?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs","html_url":"https://github.com/puppetlabs","followers_url":"https://api.github.com/users/puppetlabs/followers","following_url":"https://api.github.com/users/puppetlabs/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs/orgs","repos_url":"https://api.github.com/users/puppetlabs/repos","events_url":"https://api.github.com/users/puppetlabs/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":26777895,"name":"puppet-agent","full_name":"puppetlabs/puppet-agent","owner":{"login":"puppetlabs","id":234268,"avatar_url":"https://avatars.githubusercontent.com/u/234268?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs","html_url":"https://github.com/puppetlabs","followers_url":"https://api.github.com/users/puppetlabs/followers","following_url":"https://api.github.com/users/puppetlabs/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs/orgs","repos_url":"https://api.github.com/users/puppetlabs/repos","events_url":"https://api.github.com/users/puppetlabs/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/puppetlabs/puppet-agent","description":"All of the directions for building a puppet agent package.","fork":false,"url":"https://api.github.com/repos/puppetlabs/puppet-agent","forks_url":"https://api.github.com/repos/puppetlabs/puppet-agent/forks","keys_url":"https://api.github.com/repos/puppetlabs/puppet-agent/keys{/key_id}","collaborators_url":"https://api.github.com/repos/puppetlabs/puppet-agent/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/puppetlabs/puppet-agent/teams","hooks_url":"https://api.github.com/repos/puppetlabs/puppet-agent/hooks","issue_events_url":"https://api.github.com/repos/puppetlabs/puppet-agent/issues/events{/number}","events_url":"https://api.github.com/repos/puppetlabs/puppet-agent/events","assignees_url":"https://api.github.com/repos/puppetlabs/puppet-agent/assignees{/user}","branches_url":"https://api.github.com/repos/puppetlabs/puppet-agent/branches{/branch}","tags_url":"https://api.github.com/repos/puppetlabs/puppet-agent/tags","blobs_url":"https://api.github.com/repos/puppetlabs/puppet-agent/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/puppetlabs/puppet-agent/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/puppetlabs/puppet-agent/git/refs{/sha}","trees_url":"https://api.github.com/repos/puppetlabs/puppet-agent/git/trees{/sha}","statuses_url":"https://api.github.com/repos/puppetlabs/puppet-agent/statuses/{sha}","languages_url":"https://api.github.com/repos/puppetlabs/puppet-agent/languages","stargazers_url":"https://api.github.com/repos/puppetlabs/puppet-agent/stargazers","contributors_url":"https://api.github.com/repos/puppetlabs/puppet-agent/contributors","subscribers_url":"https://api.github.com/repos/puppetlabs/puppet-agent/subscribers","subscription_url":"https://api.github.com/repos/puppetlabs/puppet-agent/subscription","commits_url":"https://api.github.com/repos/puppetlabs/puppet-agent/commits{/sha}","git_commits_url":"https://api.github.com/repos/puppetlabs/puppet-agent/git/commits{/sha}","comments_url":"https://api.github.com/repos/puppetlabs/puppet-agent/comments{/number}","issue_comment_url":"https://api.github.com/repos/puppetlabs/puppet-agent/issues/comments{/number}","contents_url":"https://api.github.com/repos/puppetlabs/puppet-agent/contents/{+path}","compare_url":"https://api.github.com/repos/puppetlabs/puppet-agent/compare/{base}...{head}","merges_url":"https://api.github.com/repos/puppetlabs/puppet-agent/merges","archive_url":"https://api.github.com/repos/puppetlabs/puppet-agent/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/puppetlabs/puppet-agent/downloads","issues_url":"https://api.github.com/repos/puppetlabs/puppet-agent/issues{/number}","pulls_url":"https://api.github.com/repos/puppetlabs/puppet-agent/pulls{/number}","milestones_url":"https://api.github.com/repos/puppetlabs/puppet-agent/milestones{/number}","notifications_url":"https://api.github.com/repos/puppetlabs/puppet-agent/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/puppetlabs/puppet-agent/labels{/name}","releases_url":"https://api.github.com/repos/puppetlabs/puppet-agent/releases{/id}","deployments_url":"https://api.github.com/repos/puppetlabs/puppet-agent/deployments","created_at":"2014-11-17T21:23:08Z","updated_at":"2016-01-30T22:28:39Z","pushed_at":"2016-02-11T00:02:49Z","git_url":"git://github.com/puppetlabs/puppet-agent.git","ssh_url":"git@github.com:puppetlabs/puppet-agent.git","clone_url":"https://github.com/puppetlabs/puppet-agent.git","svn_url":"https://github.com/puppetlabs/puppet-agent","homepage":null,"size":3620,"stargazers_count":4,"watchers_count":4,"language":"Groff","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":24,"mirror_url":null,"open_issues_count":2,"forks":24,"open_issues":2,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/puppetlabs/puppet-agent/pulls/505"},"html":{"href":"https://github.com/puppetlabs/puppet-agent/pull/505"},"issue":{"href":"https://api.github.com/repos/puppetlabs/puppet-agent/issues/505"},"comments":{"href":"https://api.github.com/repos/puppetlabs/puppet-agent/issues/505/comments"},"review_comments":{"href":"https://api.github.com/repos/puppetlabs/puppet-agent/pulls/505/comments"},"review_comment":{"href":"https://api.github.com/repos/puppetlabs/puppet-agent/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/puppetlabs/puppet-agent/pulls/505/commits"},"statuses":{"href":"https://api.github.com/repos/puppetlabs/puppet-agent/statuses/d3e4cfab708b27f38b6b640de97a5fb25b69eaa3"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":5,"review_comments":0,"commits":1,"additions":218,"deletions":0,"changed_files":2}}