{"action":"created","issue":{"url":"https://api.github.com/repos/learning-unlimited/ESP-Website/issues/1948","labels_url":"https://api.github.com/repos/learning-unlimited/ESP-Website/issues/1948/labels{/name}","comments_url":"https://api.github.com/repos/learning-unlimited/ESP-Website/issues/1948/comments","events_url":"https://api.github.com/repos/learning-unlimited/ESP-Website/issues/1948/events","html_url":"https://github.com/learning-unlimited/ESP-Website/pull/1948","id":119317725,"number":1948,"title":"Add a lint test","user":{"login":"benjaminjkraft","id":111238,"avatar_url":"https://avatars.githubusercontent.com/u/111238?v=3","gravatar_id":"","url":"https://api.github.com/users/benjaminjkraft","html_url":"https://github.com/benjaminjkraft","followers_url":"https://api.github.com/users/benjaminjkraft/followers","following_url":"https://api.github.com/users/benjaminjkraft/following{/other_user}","gists_url":"https://api.github.com/users/benjaminjkraft/gists{/gist_id}","starred_url":"https://api.github.com/users/benjaminjkraft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benjaminjkraft/subscriptions","organizations_url":"https://api.github.com/users/benjaminjkraft/orgs","repos_url":"https://api.github.com/users/benjaminjkraft/repos","events_url":"https://api.github.com/users/benjaminjkraft/events{/privacy}","received_events_url":"https://api.github.com/users/benjaminjkraft/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-28T21:01:46Z","updated_at":"2015-11-28T21:17:12Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/learning-unlimited/ESP-Website/pulls/1948","html_url":"https://github.com/learning-unlimited/ESP-Website/pull/1948","diff_url":"https://github.com/learning-unlimited/ESP-Website/pull/1948.diff","patch_url":"https://github.com/learning-unlimited/ESP-Website/pull/1948.patch"},"body":"Now that we don't have any undefined names (see #1944), let's keep it that way.\nThis adds a dependency on flake8 and script (`useful_scripts/run_lint.sh`) to\nrun a few `flake8` checks; travis should automatically run the script before\nrunning tests.\n\nWe can add more checks as we clean up the codebase so that they pass.  (For\nexample, it looks like we still have a few trailing whitespace issues, so I\ndidn't turn those checks on.)  It should be trivial to add more `flake8`\nchecks; adding other linters (e.g.  `eslint` for our JS) shouldn't be too hard\neither.\n\nIf you want to automatically run the linter before every commit, just make a\nsymlink from `.git/hooks/pre-commit` to the lint script.  It's a bit slower\nthan I'd like, unfortunately, so it might be good to have a git-hook version\nthat only lints changed files or something, but I'll leave that for another\nday.\n\nReplaces #1946; this version is a shell-script that travis runs, which means travis will fail faster in the case of lint errors, and makes the thing fast enough that one can plausibly run it as a commit hook."},"comment":{"url":"https://api.github.com/repos/learning-unlimited/ESP-Website/issues/comments/160335910","html_url":"https://github.com/learning-unlimited/ESP-Website/pull/1948#issuecomment-160335910","issue_url":"https://api.github.com/repos/learning-unlimited/ESP-Website/issues/1948","id":160335910,"user":{"login":"btidor","id":2303306,"avatar_url":"https://avatars.githubusercontent.com/u/2303306?v=3","gravatar_id":"","url":"https://api.github.com/users/btidor","html_url":"https://github.com/btidor","followers_url":"https://api.github.com/users/btidor/followers","following_url":"https://api.github.com/users/btidor/following{/other_user}","gists_url":"https://api.github.com/users/btidor/gists{/gist_id}","starred_url":"https://api.github.com/users/btidor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/btidor/subscriptions","organizations_url":"https://api.github.com/users/btidor/orgs","repos_url":"https://api.github.com/users/btidor/repos","events_url":"https://api.github.com/users/btidor/events{/privacy}","received_events_url":"https://api.github.com/users/btidor/received_events","type":"User","site_admin":false},"created_at":"2015-11-28T21:17:12Z","updated_at":"2015-11-28T21:17:12Z","body":"+1 (once tests pass)"}}