{"action":"created","issue":{"url":"https://api.github.com/repos/cicada-load/cicada/issues/2","repository_url":"https://api.github.com/repos/cicada-load/cicada","labels_url":"https://api.github.com/repos/cicada-load/cicada/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/cicada-load/cicada/issues/2/comments","events_url":"https://api.github.com/repos/cicada-load/cicada/issues/2/events","html_url":"https://github.com/cicada-load/cicada/issues/2","id":141293033,"number":2,"title":"contributor guidelines","user":{"login":"cgoldberg","id":1113081,"avatar_url":"https://avatars.githubusercontent.com/u/1113081?v=3","gravatar_id":"","url":"https://api.github.com/users/cgoldberg","html_url":"https://github.com/cgoldberg","followers_url":"https://api.github.com/users/cgoldberg/followers","following_url":"https://api.github.com/users/cgoldberg/following{/other_user}","gists_url":"https://api.github.com/users/cgoldberg/gists{/gist_id}","starred_url":"https://api.github.com/users/cgoldberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgoldberg/subscriptions","organizations_url":"https://api.github.com/users/cgoldberg/orgs","repos_url":"https://api.github.com/users/cgoldberg/repos","events_url":"https://api.github.com/users/cgoldberg/events{/privacy}","received_events_url":"https://api.github.com/users/cgoldberg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-16T14:34:44Z","updated_at":"2016-03-16T15:11:15Z","closed_at":null,"body":"We need to discuss a (lightweight) process and guidelines for contribution.\r\n\r\nThe standard way to do this is to create a file named \"CONTRIBUTING\" in the repo root.  It will contain our contributor guidelines.\r\n\r\nWe should add a group of core maintainers to the org that have merge access (populated from volunteers in this thread).  While they have access to merge, it is only used for merging pull requests (never push directly to master without a PR).  Maintainers will follow the same model described below for all contributors:\r\n\r\nTo get code into cicada's master, you would:\r\n\r\n* fork the repo\r\n* make changes in your fork (in a feature branch)\r\n* create a pull request to land the branch into cicada/master\r\n* the pull request must go through code review (anyone is encouraged to do initial reviews)\r\n* once a PR looks in acceptable shape, it needs signoff (a :+1: comment from 2 maintainers)\r\n* once it has been thumbed up twice, a maintainer will merge the branch to master on the contributor's behalf.\r\n\r\nDoes that sound reasonable for a basic working process?\r\n\r\n\r\nbtw, 2 things to mention:\r\n\r\n* the codebase is far from PEP8 compliant.  This is fine to start, but we should move towards a more standard Python style.  Once we get closer to that goal, we can add linting (pep8, flake8, pylint, etc) to our CI process.\r\n\r\n* automated are necessary, but currently the codebase only contains a small set of functional/acceptance tests, but lacks unit tests.  I think this is ok to start with, but let's not build much more technical debt.  Once things get rolling, we may want to measure code coverage in CI, and require tests accompanying new pull requests.  Once we have a small body of tests to run in CI, we should run CI against every PR and gate merges on failing tests.\r\n\r\nthoughts?"},"comment":{"url":"https://api.github.com/repos/cicada-load/cicada/issues/comments/197375647","html_url":"https://github.com/cicada-load/cicada/issues/2#issuecomment-197375647","issue_url":"https://api.github.com/repos/cicada-load/cicada/issues/2","id":197375647,"user":{"login":"jmelfi","id":6218154,"avatar_url":"https://avatars.githubusercontent.com/u/6218154?v=3","gravatar_id":"","url":"https://api.github.com/users/jmelfi","html_url":"https://github.com/jmelfi","followers_url":"https://api.github.com/users/jmelfi/followers","following_url":"https://api.github.com/users/jmelfi/following{/other_user}","gists_url":"https://api.github.com/users/jmelfi/gists{/gist_id}","starred_url":"https://api.github.com/users/jmelfi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmelfi/subscriptions","organizations_url":"https://api.github.com/users/jmelfi/orgs","repos_url":"https://api.github.com/users/jmelfi/repos","events_url":"https://api.github.com/users/jmelfi/events{/privacy}","received_events_url":"https://api.github.com/users/jmelfi/received_events","type":"User","site_admin":false},"created_at":"2016-03-16T15:11:14Z","updated_at":"2016-03-16T15:11:14Z","body":"@cgoldberg I agree with all that was said here.  I think that 2 maintainers is a good start and this should be light enough to not need constant work on this.\r\n\r\nI think the only thing that I would want required is that the current tests pass and any new ones do as well.\r\n\r\nWe should definitely define how we want code created and start moving to PEP8."}}