[nanomsg] Re: [Non-DoD Source] CI changes coming for nng

  • From: "Karan, Cem F CIV USARMY RDECOM ARL (US)" <cem.f.karan.civ@xxxxxxxx>
  • To: "nanomsg@xxxxxxxxxxxxx" <nanomsg@xxxxxxxxxxxxx>
  • Date: Tue, 2 Jan 2018 14:27:35 +0000

Sorry for the late reply, just catching up on my email after the holidays.

Is it possible to have two different CI setups?  That is, a fast and a slow 
setup, both of which test the same repository?  My thought is that you could 
have the fast setup that you check all the time, and a slow setup that runs, 
but is checked only infrequently.  No idea if that is possible with Circle CI 
(or anything else for that matter), but it may help prevent bitrot down the 
road.

Thanks,
Cem Karan

________________________________
From: nanomsg-bounce@xxxxxxxxxxxxx [nanomsg-bounce@xxxxxxxxxxxxx] on behalf of 
Garrett D'Amore [garrett@xxxxxxxxxx]
Sent: Thursday, December 28, 2017 7:29 PM
To: nanomsg@xxxxxxxxxxxxx
Subject: [Non-DoD Source] [nanomsg] CI changes coming for nng

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] Re: [Non-DoD Source] CI changes coming for nng - Karan, Cem F CIV USARMY RDECOM ARL (US)