{"action":"created","issue":{"url":"https://api.github.com/repos/deconst/deconst-docs/issues/7","repository_url":"https://api.github.com/repos/deconst/deconst-docs","labels_url":"https://api.github.com/repos/deconst/deconst-docs/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/deconst/deconst-docs/issues/7/comments","events_url":"https://api.github.com/repos/deconst/deconst-docs/issues/7/events","html_url":"https://github.com/deconst/deconst-docs/issues/7","id":60826427,"number":7,"title":"Pull request builder","user":{"login":"smashwilson","id":17565,"avatar_url":"https://avatars.githubusercontent.com/u/17565?v=3","gravatar_id":"","url":"https://api.github.com/users/smashwilson","html_url":"https://github.com/smashwilson","followers_url":"https://api.github.com/users/smashwilson/followers","following_url":"https://api.github.com/users/smashwilson/following{/other_user}","gists_url":"https://api.github.com/users/smashwilson/gists{/gist_id}","starred_url":"https://api.github.com/users/smashwilson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smashwilson/subscriptions","organizations_url":"https://api.github.com/users/smashwilson/orgs","repos_url":"https://api.github.com/users/smashwilson/repos","events_url":"https://api.github.com/users/smashwilson/events{/privacy}","received_events_url":"https://api.github.com/users/smashwilson/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/deconst/deconst-docs/labels/component","name":"component","color":"006b75"},{"url":"https://api.github.com/repos/deconst/deconst-docs/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"smashwilson","id":17565,"avatar_url":"https://avatars.githubusercontent.com/u/17565?v=3","gravatar_id":"","url":"https://api.github.com/users/smashwilson","html_url":"https://github.com/smashwilson","followers_url":"https://api.github.com/users/smashwilson/followers","following_url":"https://api.github.com/users/smashwilson/following{/other_user}","gists_url":"https://api.github.com/users/smashwilson/gists{/gist_id}","starred_url":"https://api.github.com/users/smashwilson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smashwilson/subscriptions","organizations_url":"https://api.github.com/users/smashwilson/orgs","repos_url":"https://api.github.com/users/smashwilson/repos","events_url":"https://api.github.com/users/smashwilson/events{/privacy}","received_events_url":"https://api.github.com/users/smashwilson/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/deconst/deconst-docs/milestones/5","html_url":"https://github.com/deconst/deconst-docs/milestones/[0.4]%20Search","labels_url":"https://api.github.com/repos/deconst/deconst-docs/milestones/5/labels","id":1392050,"number":5,"title":"[0.4] Search","description":"This milestone has three objectives:\r\n\r\n 1. Support full-text search.\r\n 2. Improve the content authoring and site maintainance experience.\r\n 3. Refactoring and stability.","creator":{"login":"smashwilson","id":17565,"avatar_url":"https://avatars.githubusercontent.com/u/17565?v=3","gravatar_id":"","url":"https://api.github.com/users/smashwilson","html_url":"https://github.com/smashwilson","followers_url":"https://api.github.com/users/smashwilson/followers","following_url":"https://api.github.com/users/smashwilson/following{/other_user}","gists_url":"https://api.github.com/users/smashwilson/gists{/gist_id}","starred_url":"https://api.github.com/users/smashwilson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smashwilson/subscriptions","organizations_url":"https://api.github.com/users/smashwilson/orgs","repos_url":"https://api.github.com/users/smashwilson/repos","events_url":"https://api.github.com/users/smashwilson/events{/privacy}","received_events_url":"https://api.github.com/users/smashwilson/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":11,"state":"open","created_at":"2015-11-03T19:29:08Z","updated_at":"2016-03-01T19:15:45Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2015-03-12T14:25:35Z","updated_at":"2016-03-14T19:20:19Z","closed_at":null,"body":"To give content authors a way to share the results of unpublished (pushed, but not merged) work, I want to have a place where the built content of intermediate commits is available at a shareable link, in context with the rest of the hosted site. This will also make it easier for drive-by contributors to see their work rendered without having to fuss with the client.\r\n\r\nMy intention is for this to eliminate the need for a staging server.\r\n\r\n*Implementation*\r\n\r\nFor any commit pushed to a pull request in a content repository, invoke the appropriate preparer on that version of the content in Strider (#1). Configure the preparer to use a content ID base unique to this build and to submit content to a dedicated content service running on the build host (#10).\r\n\r\nManipulate the content mapping used by a presenter running on the build host to mount the build-specific content ID prefix at a build-specific subpath. Hoist the mappings for the rest of the site beneath the same subpath. Do the same for the template routes. (It may be easier to use a custom subdomain?)\r\n\r\nConfigure the build-host content service to proxy any content IDs that are not found to the \"real\" content service CLB. That'll let you see the work in context.\r\n\r\nMake a comment on the originating pull request that contains a link to the build content.\r\n\r\n*Roadmap*\r\n\r\n#### content-service\r\n\r\n- [x] deconst/content-service#68\r\n- [x] deconst/content-service#69\r\n- [x] deconst/content-service#74\r\n- [x] deconst/content-service#77\r\n- [x] deconst/content-service#79\r\n- [x] deconst/content-service#82\r\n\r\n#### presenter\r\n\r\n- [x] deconst/presenter#97\r\n- [x] deconst/presenter#101\r\n- [x] deconst/presenter#102\r\n- [x] deconst/presenter#103\r\n- [x] deconst/presenter#105\r\n- [x] deconst/presenter#106\r\n- [x] deconst/presenter#107\r\n\r\n#### strider-deconst-content\r\n\r\n- [x] deconst/strider-deconst-content#10\r\n\r\n#### strider-deconst-control\r\n\r\n- [x] deconst/strider-deconst-control#15\r\n- [x] deconst/strider-deconst-control#14. Not directly related to pull request builds, but I want to be sure I've addressed this before the next time I recreate the Strider builds.\r\n- [x] deconst/strider-deconst-control#18\r\n\r\n#### services\r\n\r\n- [x] deconst/services#19\r\n- [x] deconst/services#20\r\n\r\n#### deploy\r\n\r\n- [x] deconst/deploy#99\r\n- [x] deconst/deploy#102\r\n- [x] :shipit:\r\n - [x] deconst.horse\r\n - [x] Nexus\r\n - [x] rackerlabs/nexus-control#363\r\n\r\n#### deconst-docs\r\n\r\n- [x] deconst/deconst-docs#224\r\n- [x] deconst/deconst-docs#228\r\n- [ ] deconst/deconst-docs#223"},"comment":{"url":"https://api.github.com/repos/deconst/deconst-docs/issues/comments/196483899","html_url":"https://github.com/deconst/deconst-docs/issues/7#issuecomment-196483899","issue_url":"https://api.github.com/repos/deconst/deconst-docs/issues/7","id":196483899,"user":{"login":"smashwilson","id":17565,"avatar_url":"https://avatars.githubusercontent.com/u/17565?v=3","gravatar_id":"","url":"https://api.github.com/users/smashwilson","html_url":"https://github.com/smashwilson","followers_url":"https://api.github.com/users/smashwilson/followers","following_url":"https://api.github.com/users/smashwilson/following{/other_user}","gists_url":"https://api.github.com/users/smashwilson/gists{/gist_id}","starred_url":"https://api.github.com/users/smashwilson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smashwilson/subscriptions","organizations_url":"https://api.github.com/users/smashwilson/orgs","repos_url":"https://api.github.com/users/smashwilson/repos","events_url":"https://api.github.com/users/smashwilson/events{/privacy}","received_events_url":"https://api.github.com/users/smashwilson/received_events","type":"User","site_admin":false},"created_at":"2016-03-14T19:20:19Z","updated_at":"2016-03-14T19:20:19Z","body":"It's alive!\r\n\r\n![screen shot 2016-03-14 at 3 17 36 pm](https://cloud.githubusercontent.com/assets/17565/13756849/3d930bc8-e9f8-11e5-9d74-54004dcb32dd.jpeg)\r\n"}}