{"action":"created","issue":{"url":"https://api.github.com/repos/pyca/cryptography/issues/3018","repository_url":"https://api.github.com/repos/pyca/cryptography","labels_url":"https://api.github.com/repos/pyca/cryptography/issues/3018/labels{/name}","comments_url":"https://api.github.com/repos/pyca/cryptography/issues/3018/comments","events_url":"https://api.github.com/repos/pyca/cryptography/issues/3018/events","html_url":"https://github.com/pyca/cryptography/issues/3018","id":162480622,"number":3018,"title":"Post-mortem: Direct push of commit to master","user":{"login":"reaperhulk","id":161495,"avatar_url":"https://avatars.githubusercontent.com/u/161495?v=3","gravatar_id":"","url":"https://api.github.com/users/reaperhulk","html_url":"https://github.com/reaperhulk","followers_url":"https://api.github.com/users/reaperhulk/followers","following_url":"https://api.github.com/users/reaperhulk/following{/other_user}","gists_url":"https://api.github.com/users/reaperhulk/gists{/gist_id}","starred_url":"https://api.github.com/users/reaperhulk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reaperhulk/subscriptions","organizations_url":"https://api.github.com/users/reaperhulk/orgs","repos_url":"https://api.github.com/users/reaperhulk/repos","events_url":"https://api.github.com/users/reaperhulk/events{/privacy}","received_events_url":"https://api.github.com/users/reaperhulk/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pyca/cryptography/labels/administrative","name":"administrative","color":"d4c5f9"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-06-27T15:30:26Z","updated_at":"2016-06-29T14:09:13Z","closed_at":null,"body":"pyca/cryptography has a development policy requiring that all commits be in PRs, all PRs be reviewed, and all CI be green before we merge a PR. Unfortunately, this morning a commit was accidentally pushed to master directly (https://github.com/pyca/cryptography/commit/ca9b989ef5e27e88776cb6f3464e2f54ccd834c5).\r\n\r\nAs a post-hoc review, this is a simple documentation change that fixes a syntax error. 👍 to merging.\r\n\r\n**How are we going to prevent this occurring in the future?**\r\n\r\nGitHub has a concept of required status checks in protected branches. Protected branches disable the ability to force push to master for anyone and status checks prohibit pushes to master except via PRs that have passing status checks. However, there is a separate flag to \"include administrators\" in the requirement. If that is unchecked (as it is by default) then admins can merge PRs even if required status checks are failing. We previously left this unchecked because on occasion codecov has issues (comparing against the wrong base, never reporting status, etc) that prevent all the checks from succeeding even when the PR itself is fine.\r\n\r\nThis choice has now been revisited and status checks are enforced for admins. We have enabled required checks for Travis CI and our 3 jenkins CI jobs (jenkins/pr, jenkins/docs, jenkins/pep8). This prevents accidental pushes to master while preserving our ability to merge even if codecov is having trouble. In practice we will continue to require 100% coverage and in the vast majority of cases codecov's status checks will be required before we merge a PR."},"comment":{"url":"https://api.github.com/repos/pyca/cryptography/issues/comments/229367220","html_url":"https://github.com/pyca/cryptography/issues/3018#issuecomment-229367220","issue_url":"https://api.github.com/repos/pyca/cryptography/issues/3018","id":229367220,"user":{"login":"alex","id":772,"avatar_url":"https://avatars.githubusercontent.com/u/772?v=3","gravatar_id":"","url":"https://api.github.com/users/alex","html_url":"https://github.com/alex","followers_url":"https://api.github.com/users/alex/followers","following_url":"https://api.github.com/users/alex/following{/other_user}","gists_url":"https://api.github.com/users/alex/gists{/gist_id}","starred_url":"https://api.github.com/users/alex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alex/subscriptions","organizations_url":"https://api.github.com/users/alex/orgs","repos_url":"https://api.github.com/users/alex/repos","events_url":"https://api.github.com/users/alex/events{/privacy}","received_events_url":"https://api.github.com/users/alex/received_events","type":"User","site_admin":false},"created_at":"2016-06-29T14:09:13Z","updated_at":"2016-06-29T14:09:13Z","body":"Thanks for writing this up. Now that we've mitigated this with protected branches, can we close?"}}
{"actor":{"display_login":"alex"}}