|
Boost : |
Subject: [boost] Travis CI Resources
From: James E. King, III (jking_at_[hidden])
Date: 2018-01-22 13:42:08
Last summer we had a discussion about Travis CI Resource Usage for
boostorg. Originally the discussion was about purchasing more resources;
however the discussion quickly focused on finding the root cause of the
backlog.
The desire is to ensure that pull requests submitted to repositories are
processed in a timely manner. This is not happening, and there is at least
a 12 hour backlog on pull request builds for boostorg right now.
Summarizing the discussion back then, it was proposed that the backlog was
caused by folks working on feature branches directly in their boostorg
repository, with the Travis CI setting enabled to "build branch updates".
The proposed solution was to encourage everybody to fork their repository
and set up their own Travis CI and Appveyor under their account, and work
feature branches on your fork. If working alone, this is efficient for
everyone as we all end up with faster builds because your account will not
contend with boostorg for resources. So please, use your personal account
to build up features if you can.
Additionally, tuning your Travis CI build script to do a little bit less
work will help. If you have a script that builds with gcc, gcc-5, gcc-6,
gcc-7, clang, and cxxstd of 03,11,14,1z - for most libraries that are at
the c++03 language level this is going to be significant overkill for use
as a pull request gate. In the example above, there are 20 builds to do;
double that if you build debug and release variants. If each build takes
just 2 minutes that's still an 80 minute CI cycle.
Please spend some time reviewing your practices around the use of the free
CI resources we all share.
Thanks,
Jim
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk