[nanomsg] CI changes coming for nng

  • From: "Garrett D'Amore" <garrett@xxxxxxxxxx>
  • To: "nanomsg@xxxxxxxxxxxxx" <nanomsg@xxxxxxxxxxxxx>
  • Date: Fri, 29 Dec 2017 00:29:02 +0000

I spend an inordinate amount of my time waiting for the CI to complete — as
a result I’m always looking for ways to shorten the cycle.  To that end,
some changes are coming to the CI we do for nng:

a) I’m moving from Travis to Circle CI for Linux builds.  From my testing,
their 2.0 infrastructure is *lots* faster than Travis.

b) I’m planning to stop testing all the various different build tools.
CMake drives everything, but making a ninja target means I get very clean
and easy to read results a *lot* faster than using make, and a *lot more*
faster than using Visual Studio.  (The other build systems will still work,
I’m just not going to keep testing them.  That was always more of a
validation of CMake than of anything I’ve done, and I’m just interesting in
acting as the QA department for CMake.)

c) macOS builds will be disabled for now.  The Travis mac infra is
terrible, with queue times upwards of 20 minutes sometimes, and build
systems are so overloaded that my timer related platform checks frequently
fail simply because of the enormous dispatch latency caused by severe load.
 (I expect 20 ms dispatch latency or better, and the observed values exceed
the test limits of 50 ms.  This is something new in the Travis  environment
— I think they are hosting things in a way that the quality has degraded.)
 I’m hoping to be able to use the Circle CI macOS infra as well, but until
I validate it the CI will be disabled for macOS.

d) The test matrix — especially for appveyor, is going to get a lot
smaller.  I will probably only test the latest version of Visual Studio.
The older ones will still work, but I’m not interested in waiting to get
such test results for every one of my commits.  I’ll probably only do 32
and 64 bit tests on Windows for now.

e) Likewise I’m going to stop testing so many different versions of Linux.

f) Older versions of compilers, operating systems, or build tools will be
supported on a “best effort” basis, which means I’m not  going to go too
far out of my way to keep them going, but I won’t knowingly break them
either.  If someone wants support for something older, and has a commercial
need for higher levels of support, please contact me and we can work out
some kind of arrangement.

Let me know if you have any questions or concerns.

Thanks!

 - Garrett

Other related posts:

  • » [nanomsg] CI changes coming for nng - Garrett D'Amore