{"action":"created","issue":{"url":"https://api.github.com/repos/CenturyLinkCloud/PublicKB/issues/238","labels_url":"https://api.github.com/repos/CenturyLinkCloud/PublicKB/issues/238/labels{/name}","comments_url":"https://api.github.com/repos/CenturyLinkCloud/PublicKB/issues/238/comments","events_url":"https://api.github.com/repos/CenturyLinkCloud/PublicKB/issues/238/events","html_url":"https://github.com/CenturyLinkCloud/PublicKB/issues/238","id":97507071,"number":238,"title":"Add external link parser?","user":{"login":"thenickcox","id":702327,"avatar_url":"https://avatars.githubusercontent.com/u/702327?v=3","gravatar_id":"","url":"https://api.github.com/users/thenickcox","html_url":"https://github.com/thenickcox","followers_url":"https://api.github.com/users/thenickcox/followers","following_url":"https://api.github.com/users/thenickcox/following{/other_user}","gists_url":"https://api.github.com/users/thenickcox/gists{/gist_id}","starred_url":"https://api.github.com/users/thenickcox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thenickcox/subscriptions","organizations_url":"https://api.github.com/users/thenickcox/orgs","repos_url":"https://api.github.com/users/thenickcox/repos","events_url":"https://api.github.com/users/thenickcox/events{/privacy}","received_events_url":"https://api.github.com/users/thenickcox/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-07-27T16:51:14Z","updated_at":"2015-07-27T20:19:32Z","closed_at":"2015-07-27T18:38:29Z","body":"Originally, I had written a fourth parser (in addition to the markdown parser, front matter parser, and file link parser) that checked the output of external links. I didn't include it in the Commit Analyzer because, on this repo, the build made Travis CI timeout. (Max time for a build is 50 minutes.)\r\n\r\n@mattfordham and I proposed tabling that parser for the time being in order to encourage a quick build. (Currently, this repo [builds at 29 seconds](https://travis-ci.org/CenturyLinkCloud/PublicKB).)\r\n\r\nThis morning, I was tinkering with the external link parser and fixed a bug in the link parser that got it down to 17 minutes on my local machine. (This will likely be a good bit slower on Travis because of the limited hardware. It's difficult to estimate just how much slower, but I don't believe it would be more than 2x.) That puts it, in my opinion, in the realm of consideration.\r\n\r\nThere are likely more optimizations I could make to get that time down further. Is that something you'd be interested in investing some hours into, or should we leave it as is? Is there a ballpark build time that you'd like to try to stay within, so we could consider if it was even possible to get the link parser to run within that time budget? \r\n\r\nFurther, If we decide to leave the link parser as is, then should it be added it to the commit analyzer, or should we keep it out for the sake of speedy builds? You'd have to weigh whether the trade off of the time-to-build was worth it.\r\n\r\nWorst case, [here](https://gist.github.com/thenickcox/40e9c578f11ca0cbb22f) is a link to a gist of the output of the external link parser. That could at least give you a sense of what needs fixing, and then you could decide if it's worth trying to add it to the build, or just decide to place the onus of link checking on the authors.\r\n\r\n(This issue was added to this repo because of the three that contain the commit analyzer, this has the greatest number of files.)\r\n\r\ncc @nathanyoung \r\n\r\n## Edit\r\n\r\nAn optimization I just tried [in this commit](https://github.com/CenturyLinkCloud/KB-Commit-Analyzer/commit/3b2ae2299ada235653ab3a9056727e1817887d0c) dropped the build time to 13:18. That was the low-hanging fruit. More optimizations could be done, I'm sure, but not without a good bit more investment."},"comment":{"url":"https://api.github.com/repos/CenturyLinkCloud/PublicKB/issues/comments/125330726","html_url":"https://github.com/CenturyLinkCloud/PublicKB/issues/238#issuecomment-125330726","issue_url":"https://api.github.com/repos/CenturyLinkCloud/PublicKB/issues/238","id":125330726,"user":{"login":"thenickcox","id":702327,"avatar_url":"https://avatars.githubusercontent.com/u/702327?v=3","gravatar_id":"","url":"https://api.github.com/users/thenickcox","html_url":"https://github.com/thenickcox","followers_url":"https://api.github.com/users/thenickcox/followers","following_url":"https://api.github.com/users/thenickcox/following{/other_user}","gists_url":"https://api.github.com/users/thenickcox/gists{/gist_id}","starred_url":"https://api.github.com/users/thenickcox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thenickcox/subscriptions","organizations_url":"https://api.github.com/users/thenickcox/orgs","repos_url":"https://api.github.com/users/thenickcox/repos","events_url":"https://api.github.com/users/thenickcox/events{/privacy}","received_events_url":"https://api.github.com/users/thenickcox/received_events","type":"User","site_admin":false},"created_at":"2015-07-27T20:19:32Z","updated_at":"2015-07-27T20:19:32Z","body":"In order to avoid the headache of [tracking the submodule branches in this project](http://stackoverflow.com/questions/1777854/git-submodules-specify-a-branch-tag), I could just add it to a branch in the commit analyzer that someone could conceivably check out and replace with their local `/lib` directory in, for example, this repo."}}