{"action":"created","issue":{"url":"https://api.github.com/repos/BitFunnel/BitFunnel/issues/124","repository_url":"https://api.github.com/repos/BitFunnel/BitFunnel","labels_url":"https://api.github.com/repos/BitFunnel/BitFunnel/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/BitFunnel/BitFunnel/issues/124/comments","events_url":"https://api.github.com/repos/BitFunnel/BitFunnel/issues/124/events","html_url":"https://github.com/BitFunnel/BitFunnel/issues/124","id":168529642,"number":124,"title":"Solution for Linux/Mac CI?","user":{"login":"danluu","id":157136,"avatar_url":"https://avatars.githubusercontent.com/u/157136?v=3","gravatar_id":"","url":"https://api.github.com/users/danluu","html_url":"https://github.com/danluu","followers_url":"https://api.github.com/users/danluu/followers","following_url":"https://api.github.com/users/danluu/following{/other_user}","gists_url":"https://api.github.com/users/danluu/gists{/gist_id}","starred_url":"https://api.github.com/users/danluu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danluu/subscriptions","organizations_url":"https://api.github.com/users/danluu/orgs","repos_url":"https://api.github.com/users/danluu/repos","events_url":"https://api.github.com/users/danluu/events{/privacy}","received_events_url":"https://api.github.com/users/danluu/received_events","type":"User","site_admin":false},"labels":[{"id":403489298,"url":"https://api.github.com/repos/BitFunnel/BitFunnel/labels/c++","name":"c++","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":21,"created_at":"2016-07-31T17:53:52Z","updated_at":"2016-11-18T16:19:06Z","closed_at":null,"body":"With Travis, we have (at least) three serious issues:\r\n1. The vast majority of failures are due to flakiness or changes on their end, making the CI results noisy.\r\n2. When we get failures due to changes on their end, it's often time consuming to fix the failures. Over the past few months, I think Alex has spent a day (or more?) on CI fixes, and I've spent probably two days on CI. This is more disruptive than it sounds because the time is often an hour and an hour there.\r\n3. Travis is slow. We can compile a clean build locally in 10s and run tests in 20ms. On Travis we queue for a couple minutes and then run for 10 minutes. It looks like we could pay more money and speed it up to the point where it \"only\" takes 2 minutes to finish a CI run, but that's still an order of magnitude slower than Appveyor.\r\n\r\nOn 1 & 2, if you look at the Travis bug tracker, it's easy to see that [C++ CI is a low priority for them](https://github.com/travis-ci/travis-ci/issues/6300), and they're not really interested in making [changes that would make C++ CI](https://github.com/travis-ci/travis-ci/issues/5959) [easier to set up](https://github.com/travis-ci/travis-ci/issues/5821) for anyone who wants to use a recent compiler.\r\n\r\nOn 3, Travis is allegedly faster if you have a `travis.yml` that has `sudo: false`, but we can't do that at the moment because we rely on apt-get. It looks like [hana has a .travis.yml that installs modern compilers with without sudo](https://github.com/boostorg/hana/blob/master/.travis.yml), by manually downloading and running the source and install process via what is effectively a giant shell script. From looking at their actual CI results, it doesn't appear that they get much speedup from that doing, although maybe they get more reliability? The author of that yaml file [indicates that he spends a ton of time tweaking it to keep it up to date (with breaking Travis changes???)](https://github.com/travis-ci/travis-ci/issues/6300#issuecomment-232842843), so I don't think that would solve (2).\r\n\r\nI've looked into CircleCI a bit, and it looks like it's likely to be substantially faster, perhaps solving (3), but they also appear to not really prioritize C++ support.\r\n\r\nOn (3), I believe AppVeyor is substantially faster than Travis because we're running on a machine that's configured with a C++ compiler, so we don't have to go and install `clang` and all of its dependencies before our tests start.\r\n\r\nIf we do nothing, we'll have working (and pretty good) Windows CI, and no Linux or Mac CI. I think that's actually as long as no one wants to contribute to this project, but that we'll have problems pretty quickly if any outside contributors want to work on this. It's understandable that neither Travis nor Circle prioritize C++, but it means that there doesn't appear to be a passable off-the-shelf CI solution for us.\r\n"},"comment":{"url":"https://api.github.com/repos/BitFunnel/BitFunnel/issues/comments/261572547","html_url":"https://github.com/BitFunnel/BitFunnel/issues/124#issuecomment-261572547","issue_url":"https://api.github.com/repos/BitFunnel/BitFunnel/issues/124","id":261572547,"user":{"login":"andoma","id":216384,"avatar_url":"https://avatars.githubusercontent.com/u/216384?v=3","gravatar_id":"","url":"https://api.github.com/users/andoma","html_url":"https://github.com/andoma","followers_url":"https://api.github.com/users/andoma/followers","following_url":"https://api.github.com/users/andoma/following{/other_user}","gists_url":"https://api.github.com/users/andoma/gists{/gist_id}","starred_url":"https://api.github.com/users/andoma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andoma/subscriptions","organizations_url":"https://api.github.com/users/andoma/orgs","repos_url":"https://api.github.com/users/andoma/repos","events_url":"https://api.github.com/users/andoma/events{/privacy}","received_events_url":"https://api.github.com/users/andoma/received_events","type":"User","site_admin":false},"created_at":"2016-11-18T16:19:06Z","updated_at":"2016-11-18T16:19:06Z","body":"Guys, Just want to let you know I'm aware of the pesky \"No output detected for 600 seconds\" failing builds. It seems that the build agent hangs inside a fork() call when it's preparing to execute a command. The agent has been doing tens of thousands of builds for my personal projects before I made Doozer a public service and I've never seen this before. When making doozer public the build agent has largely remained unchanged but apparently something has happened here.\r\n\r\nI'll try to fix it ASAP.\r\n\r\nAlso I'm gonna add some kind of rescheduling mechanism if a build fails for \"external reasons\" like network issue, etc. Perhaps \"silent output\" could be classified to that as well.\r\n\r\n\r\n\r\n\r\n"}}
{"actor":{"display_login":"andoma"}}