{"action":"created","issue":{"url":"https://api.github.com/repos/docker/leeroy/issues/29","labels_url":"https://api.github.com/repos/docker/leeroy/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/docker/leeroy/issues/29/comments","events_url":"https://api.github.com/repos/docker/leeroy/issues/29/events","html_url":"https://github.com/docker/leeroy/issues/29","id":106441016,"number":29,"title":"Make Gordon in charge or cherry picking for releases.","user":{"login":"calavera","id":1050,"avatar_url":"https://avatars.githubusercontent.com/u/1050?v=3","gravatar_id":"","url":"https://api.github.com/users/calavera","html_url":"https://github.com/calavera","followers_url":"https://api.github.com/users/calavera/followers","following_url":"https://api.github.com/users/calavera/following{/other_user}","gists_url":"https://api.github.com/users/calavera/gists{/gist_id}","starred_url":"https://api.github.com/users/calavera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calavera/subscriptions","organizations_url":"https://api.github.com/users/calavera/orgs","repos_url":"https://api.github.com/users/calavera/repos","events_url":"https://api.github.com/users/calavera/events{/privacy}","received_events_url":"https://api.github.com/users/calavera/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-09-14T22:27:24Z","updated_at":"2015-09-15T01:30:08Z","closed_at":null,"body":"Cherry picking PRs into the release branch is the most consuming part of releasing Docker. We should let Gordon do the work for us. This might imply to change the release workflow a little bit, but I think it will be worth it.\r\n\r\n**TODOs:**\r\n\r\n**1** Gordon needs to have push access to the fork where we create the release branch from if we want to do this. We could add the bot as a collaborator to our repos, but in order to eliminate more human interaction, I think it would be better if we started to create the release branches in one single repo, for instance https://github.com/GordonTheTurtle/docker. We can all the docker maintainers as collaborators to that team to create the initial branches and what not, but we could also automate that if we need to.\r\n\r\n**2** We need to let Gordon know when we want to cherry pick a pull request, we have several options on how to do this, but I think these two are the most obvious:\r\n\r\n- When maintainer comments in a merged PR: `@GordonTheTurtle cherry pick into bump_v1.9.0`\r\n- When the PR is merged and has an impact label, like `impact/v1.9.0`\r\n\r\nThe second option can also be useful to keep track of changes for the changelog.\r\n\r\nEvery pull request in GitHub has a `.patch` url assigned, so cherry picking is as easy as these three commands in the right place:\r\n\r\n```\r\n$ curl -SsL https://github.com/docker/docker/pull/15862.patch > /tmp/15862.patch\r\n$ git am < /tmp/15862.patch\r\n$ git push GordonTheTurtle bump_v1.9.0\r\n```\r\n\r\n**3** If the merge fails, we should notify the original author of the pull request. It should be up to them to resolve the conflicts to be merged into the release. We should ask them to open a pull request against Gordon's fork with the conflicts resolved. The bot could cherry pick from there if the patch applies and tests pass. This also implies that we should run have a jenkins build for Gordon's repo, but it doesn't sound that bad if you think about it."},"comment":{"url":"https://api.github.com/repos/docker/leeroy/issues/comments/140247879","html_url":"https://github.com/docker/leeroy/issues/29#issuecomment-140247879","issue_url":"https://api.github.com/repos/docker/leeroy/issues/29","id":140247879,"user":{"login":"tiborvass","id":827131,"avatar_url":"https://avatars.githubusercontent.com/u/827131?v=3","gravatar_id":"","url":"https://api.github.com/users/tiborvass","html_url":"https://github.com/tiborvass","followers_url":"https://api.github.com/users/tiborvass/followers","following_url":"https://api.github.com/users/tiborvass/following{/other_user}","gists_url":"https://api.github.com/users/tiborvass/gists{/gist_id}","starred_url":"https://api.github.com/users/tiborvass/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiborvass/subscriptions","organizations_url":"https://api.github.com/users/tiborvass/orgs","repos_url":"https://api.github.com/users/tiborvass/repos","events_url":"https://api.github.com/users/tiborvass/events{/privacy}","received_events_url":"https://api.github.com/users/tiborvass/received_events","type":"User","site_admin":false},"created_at":"2015-09-15T01:30:08Z","updated_at":"2015-09-15T01:30:08Z","body":"@moxiegirl no, we could still have RCs."}}