{"action":"created","issue":{"url":"https://api.github.com/repos/robotmoose/robotmoose/issues/18","repository_url":"https://api.github.com/repos/robotmoose/robotmoose","labels_url":"https://api.github.com/repos/robotmoose/robotmoose/issues/18/labels{/name}","comments_url":"https://api.github.com/repos/robotmoose/robotmoose/issues/18/comments","events_url":"https://api.github.com/repos/robotmoose/robotmoose/issues/18/events","html_url":"https://github.com/robotmoose/robotmoose/issues/18","id":159259141,"number":18,"title":"Formalized QA/testing and deployment process","user":{"login":"FineTralfazz","id":803046,"avatar_url":"https://avatars.githubusercontent.com/u/803046?v=3","gravatar_id":"","url":"https://api.github.com/users/FineTralfazz","html_url":"https://github.com/FineTralfazz","followers_url":"https://api.github.com/users/FineTralfazz/followers","following_url":"https://api.github.com/users/FineTralfazz/following{/other_user}","gists_url":"https://api.github.com/users/FineTralfazz/gists{/gist_id}","starred_url":"https://api.github.com/users/FineTralfazz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FineTralfazz/subscriptions","organizations_url":"https://api.github.com/users/FineTralfazz/orgs","repos_url":"https://api.github.com/users/FineTralfazz/repos","events_url":"https://api.github.com/users/FineTralfazz/events{/privacy}","received_events_url":"https://api.github.com/users/FineTralfazz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/robotmoose/robotmoose/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/robotmoose/robotmoose/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-06-08T20:08:23Z","updated_at":"2016-06-09T07:28:44Z","closed_at":null,"body":"Normally, we move fast and break things, and that works fine -- until it doesn't, and we're making last-minute changes to try to fix things we broke with our previous last-minute changes. When the infrastructure is broken, we look bad, and when we look bad, people are less likely to work with us. \r\n\r\nHere's a (maybe excessively bureaucratic) policy example I came up with:\r\n* Every commit to master is automatically deployed to test.robotmoose.com using GitHub webhooks.\r\n* Changes which have been tested and verified to work (by someone other than the author) are merged into a production branch.\r\n* Deployments to robotmoose.com from the production branch happen on a set schedule.\r\n\t* Production deployments should only happen outside of that schedule in an emergency situation (a critical feature is broken, etc.)\r\n\t* Production deployments are the responsibility of one person, and nobody else should do them unless it's both an emergency situation and the regular deployment person is unavailable.\r\n* Superstar's database should be backed up prior to every deployment, so it can be rolled back if needed.\r\n\r\nMy proposal isn't necessarily the one we should use (for example, I know most of you hate branches), but I think we're reaching a point where we need to have _something_ in place. \r\n\r\n(Also, I realize this doesn't belong on the bug tracker, but it's hard to write in detail on the Kanban board, and we don't have much else in the way of group communication. Emailing everyone seemed excessive.)"},"comment":{"url":"https://api.github.com/repos/robotmoose/robotmoose/issues/comments/224819745","html_url":"https://github.com/robotmoose/robotmoose/issues/18#issuecomment-224819745","issue_url":"https://api.github.com/repos/robotmoose/robotmoose/issues/18","id":224819745,"user":{"login":"arcshock","id":5800056,"avatar_url":"https://avatars.githubusercontent.com/u/5800056?v=3","gravatar_id":"","url":"https://api.github.com/users/arcshock","html_url":"https://github.com/arcshock","followers_url":"https://api.github.com/users/arcshock/followers","following_url":"https://api.github.com/users/arcshock/following{/other_user}","gists_url":"https://api.github.com/users/arcshock/gists{/gist_id}","starred_url":"https://api.github.com/users/arcshock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arcshock/subscriptions","organizations_url":"https://api.github.com/users/arcshock/orgs","repos_url":"https://api.github.com/users/arcshock/repos","events_url":"https://api.github.com/users/arcshock/events{/privacy}","received_events_url":"https://api.github.com/users/arcshock/received_events","type":"User","site_admin":false},"created_at":"2016-06-09T07:28:44Z","updated_at":"2016-06-09T07:28:44Z","body":"Greetings!\r\n\r\nIndeed, I have been getting myself up to speed on the project and investigating a testing process that will best integrate with the team. There is also the possibility for extending the nightly build scripts so that tests can be executed locally to ensure a clean build before committing to remote."}}
{"actor":{"display_login":"arcshock"}}