{"action":"created","issue":{"url":"https://api.github.com/repos/code-dot-org/code-dot-org/issues/14766","repository_url":"https://api.github.com/repos/code-dot-org/code-dot-org","labels_url":"https://api.github.com/repos/code-dot-org/code-dot-org/issues/14766/labels{/name}","comments_url":"https://api.github.com/repos/code-dot-org/code-dot-org/issues/14766/comments","events_url":"https://api.github.com/repos/code-dot-org/code-dot-org/issues/14766/events","html_url":"https://github.com/code-dot-org/code-dot-org/pull/14766","id":225508324,"number":14766,"title":"Refactor runner.rb","user":{"login":"islemaster","id":1615761,"avatar_url":"https://avatars3.githubusercontent.com/u/1615761?v=3","gravatar_id":"","url":"https://api.github.com/users/islemaster","html_url":"https://github.com/islemaster","followers_url":"https://api.github.com/users/islemaster/followers","following_url":"https://api.github.com/users/islemaster/following{/other_user}","gists_url":"https://api.github.com/users/islemaster/gists{/gist_id}","starred_url":"https://api.github.com/users/islemaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/islemaster/subscriptions","organizations_url":"https://api.github.com/users/islemaster/orgs","repos_url":"https://api.github.com/users/islemaster/repos","events_url":"https://api.github.com/users/islemaster/events{/privacy}","received_events_url":"https://api.github.com/users/islemaster/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-05-01T19:41:41Z","updated_at":"2017-05-02T18:06:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/code-dot-org/code-dot-org/pulls/14766","html_url":"https://github.com/code-dot-org/code-dot-org/pull/14766","diff_url":"https://github.com/code-dot-org/code-dot-org/pull/14766.diff","patch_url":"https://github.com/code-dot-org/code-dot-org/pull/14766.patch"},"body":"Builds on some initial changes by @wjordan to clean up output and skip features that won't run any scenarios, also excluding those skipped features from the generated status page.  Also moves a _ton_ of code around in runner.rb to reduce global dependencies.\r\n\r\nFeature Changes:\r\n- Don't report skipped tests in CI builds, to minimize log noise\r\n- Don't even launch Cucumber if no scenarios will be run in the current feature\r\n- Don't list skipped features in the test status page\r\n- Feature names on the status page link to that feature file in the tested branch on GitHub.\r\n- Upgrades our Cucumber gem.\r\n\r\nRefactoring:\r\n- Gradually moved almost all code in runner.rb into functions, starting with a `main` method near the top of the file to clarify the execution flow.\r\n- Removes a number of global variables, and removes several uses of other globals (notably `$options`) that haven't been entirely removed yet.\r\n- Computes the browser/features list with skipped features removed much earlier.\r\n- Closes open logfiles more reliably.\r\n- Broke out lots of helpers to try and keep method length down.  There are still some monster methods in here, but it's getting better.\r\n\r\nAs a cleanup we've still got a long way to go, but I hope this is a useful step that enables refactoring in smaller pieces in the future."},"comment":{"url":"https://api.github.com/repos/code-dot-org/code-dot-org/issues/comments/298714528","html_url":"https://github.com/code-dot-org/code-dot-org/pull/14766#issuecomment-298714528","issue_url":"https://api.github.com/repos/code-dot-org/code-dot-org/issues/14766","id":298714528,"user":{"login":"islemaster","id":1615761,"avatar_url":"https://avatars3.githubusercontent.com/u/1615761?v=3","gravatar_id":"","url":"https://api.github.com/users/islemaster","html_url":"https://github.com/islemaster","followers_url":"https://api.github.com/users/islemaster/followers","following_url":"https://api.github.com/users/islemaster/following{/other_user}","gists_url":"https://api.github.com/users/islemaster/gists{/gist_id}","starred_url":"https://api.github.com/users/islemaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/islemaster/subscriptions","organizations_url":"https://api.github.com/users/islemaster/orgs","repos_url":"https://api.github.com/users/islemaster/repos","events_url":"https://api.github.com/users/islemaster/events{/privacy}","received_events_url":"https://api.github.com/users/islemaster/received_events","type":"User","site_admin":false},"created_at":"2017-05-02T18:06:48Z","updated_at":"2017-05-02T18:06:48Z","body":"Thanks for the great review @ashercodeorg, I believe I've addressed your feedback, PTAL.  @wjordan any other thoughts?"}}
{"actor":{"display_login":"islemaster"}}