{"action":"created","issue":{"url":"https://api.github.com/repos/mozdevs/boo/issues/8","labels_url":"https://api.github.com/repos/mozdevs/boo/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/mozdevs/boo/issues/8/comments","events_url":"https://api.github.com/repos/mozdevs/boo/issues/8/events","html_url":"https://github.com/mozdevs/boo/issues/8","id":113916214,"number":8,"title":"Implement a user-friendly build/deploy system","user":{"login":"belen-albeza","id":63681,"avatar_url":"https://avatars.githubusercontent.com/u/63681?v=3","gravatar_id":"","url":"https://api.github.com/users/belen-albeza","html_url":"https://github.com/belen-albeza","followers_url":"https://api.github.com/users/belen-albeza/followers","following_url":"https://api.github.com/users/belen-albeza/following{/other_user}","gists_url":"https://api.github.com/users/belen-albeza/gists{/gist_id}","starred_url":"https://api.github.com/users/belen-albeza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/belen-albeza/subscriptions","organizations_url":"https://api.github.com/users/belen-albeza/orgs","repos_url":"https://api.github.com/users/belen-albeza/repos","events_url":"https://api.github.com/users/belen-albeza/events{/privacy}","received_events_url":"https://api.github.com/users/belen-albeza/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-28T20:34:27Z","updated_at":"2015-10-29T08:58:50Z","closed_at":null,"body":"Options:\r\n\r\na) Forget about the `dist` folder, move the inside of `app` to the root directory and commit building artifacts such as `bundle.js` to the repo. Then the `gh-pages` branch is identical to `master` and we don't need to mess up with git subtrees. I don't think this is such a terrible idea since the only artifact we have right now is `bundle.js`.\r\n\r\nb) Keep the `dist` folder and try to tweak the scripts to find a friendly way to push into `gh-pages` a subtree with `dist`. I tried this today and it when there were conflicts they had to be solved manually (i.e. \"complicated\")\r\n\r\nc) Keep the current, messy approach just for ourselves and offer an alternative way of deploying. I think that we can assume that if people have npm in their systems they will also have rsync. I don't know about Windows users, though.\r\n\r\nd) Keep the current messy approach just for ourselves and don't offer any way of deploying into an external server :sunglasses:  (we would keep the building command that generates the `dist` folder, though).\r\n\r\nThoughts?\r\n"},"comment":{"url":"https://api.github.com/repos/mozdevs/boo/issues/comments/152117234","html_url":"https://github.com/mozdevs/boo/issues/8#issuecomment-152117234","issue_url":"https://api.github.com/repos/mozdevs/boo/issues/8","id":152117234,"user":{"login":"sole","id":5609,"avatar_url":"https://avatars.githubusercontent.com/u/5609?v=3","gravatar_id":"","url":"https://api.github.com/users/sole","html_url":"https://github.com/sole","followers_url":"https://api.github.com/users/sole/followers","following_url":"https://api.github.com/users/sole/following{/other_user}","gists_url":"https://api.github.com/users/sole/gists{/gist_id}","starred_url":"https://api.github.com/users/sole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sole/subscriptions","organizations_url":"https://api.github.com/users/sole/orgs","repos_url":"https://api.github.com/users/sole/repos","events_url":"https://api.github.com/users/sole/events{/privacy}","received_events_url":"https://api.github.com/users/sole/received_events","type":"User","site_admin":false},"created_at":"2015-10-29T08:58:50Z","updated_at":"2015-10-29T08:58:50Z","body":"* a) **No**, because: We don't want to spread \"bad practices\". Checking in `bundle.js` along with the source files is not a very good idea unless you're a library (although it lets you try the project without having to `npm install`)\r\n* b) **verging towards yes** What \"conflicts\", exactly? I'm pretty sure it can be done with just an npm command (`npm run deploy`)--Bespoke.js used `grunt-gh-pages` which can do this. It says [it creates a temporary clone and etc](https://github.com/tschaub/grunt-gh-pages#overview).\r\n* c) **yes** but obviously keep the build process as described in d)\r\n* d) **no**, we need to let people know how this works. This is a learning material and it's supposed to be used, not to be left to die in obscurity because no one knows how to build and deploy it :-)\r\n\r\nIn short: `npm run deploy` should do the deploy for you automatically. If it spits out errors then you can follow whatever manual instructions we provide to fix them, but it should work for 99% of the cases. This way anyone can learn how automatic `gh-pages` deploys are done.\r\n\r\nWe should also add to the README that \"deploying\" is copying the `dist/` folder to a web server with an SFTP client, rsync or any other file copying mechanism.\r\n\r\nRelated, once it's done: we should probably turn this into a sample/template project (e.g. has source code, builds a bundle.js, deploys to `gh-pages`)"}}