www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Auto-tester CI transition

reply Seb <seb wilzba.ch> writes:
Hi all,

I'm sure anyone who has ever contributed to D on GitHub is 
familar with the auto-tester (https://auto-tester.puremagic.com) 
and has been a crucial piece in D's build infrastructure.

I think all core and casual contributors have their own horror 
stories about the auto-tester to share, so I'm just giving a 
high-level overview that while Brad did a fantastic job by 
creating this custom-made tool for the D community, it's also a 
lot harder to work with than any third-party CI solution as no D 
contributor has access to it (e.g. to install/update software, 
ssh-ing to debug failures, ...). Moreover, maintaining a reliable 
CI is a difficult job and many companies have full-time 
engineering teams dedicated to this and we had our more than fair 
share of problems with the auto-tester.

It has long been discussed and decided that we should move to a 
different CI solution over which contributors have more control 
and as we're yet again struggling with it (see e.g. [2]), we are 
finally trying to make this happen: 
https://github.com/dlang/dmd/pull/11653.
Hence, anyone who objects to this transition should speak up now.

Plan
----

1) The first step is to disable the Windows builds as they are 
already fully replicated by Azure pipelines (or will be with the 
proposed PR). This is the most important step as we want to 
"unbreak" the PR queues.

2) Move Linux + OSX builds to e.g. Travis, CircleCi or Buildkite

3) Move FreeBSD builds. Historically, this has been the blocker 
for the migration. However, LDC is using CirrusCI successfully 
and if this doesn't work out for DMD, we can always run FreeBSD 
VMs with Buildkite agents installed.

Best,

Seb

PS: auto-tester is about to celebrate its tenth birthday in a few 
days [2].

[1] https://github.com/dlang/druntime/pull/3202
[2] 
https://github.com/braddr/at-client/commit/b81de1ab2059c45c18dc2b83eb60712b83a8c134
Aug 30 2020
parent kinke <noone nowhere.com> writes:
On Sunday, 30 August 2020 at 22:16:00 UTC, Seb wrote:
 [...]
Excellent. Wrt. CirrusCI, I recommend not just looking at it for FreeBSD, but in general. Especially https://cirrus-ci.org/faq/#are-there-any-limits - e.g., I'm using 2 simultaneous Linux containers with 8 CPU cores and 16 GB each (16 CPU cores is the current limit for Linux, it even used to be 64!), and they're *fast*. Also, the limits don't apply to the repo, but to the GitHub user triggering the build - which means that if 10 different contributors push at the same time, 160 Linux cores are available!
Aug 30 2020