When working with features that touch our template meta-programming framework, sometimes some of our builds fail. Why? Because Travis has a 4GB memory+swap limit, and when compiling with aggressive vector copy elision, the underlying VM runs of of memory (happens more often with gcc than clang).
I was looking around to see if other projects have hit this problem. I found the following link: https://github.com/travis-ci/travis-ci/issues/2904 <https://github.com/travis-ci/travis-ci/issues/2904>. At the bottom of the page there are two posts that are interesting. One can shut off pre-started database, or more interestingly we can switch to using the Ubuntu Trusty beta <https://blog.travis-ci.com/2015-10-14-opening-up-ubuntu-trusty-beta/> by adding the following lines to our .travis.yml <https://github.com/apache/incubator-quickstep/blob/master/.travis.yml> file: sudo: required dist: trusty This gives us a 2 vCPU box with 7.5GB of memory! Thereby giving us a lot more room to push the template framework if needed. Space during compilation is a silly thing to worry about especially if it changes what would have been a good design for a feature. So, its is good to know that we have options if we hit the 4GB limit in Travis. Cheers, Jignesh
