Scaling back CI (for now)?
Matthew Pickering
matthewtpickering at gmail.com
Sat Feb 2 15:09:33 UTC 2019
Hi all,
Everyone has probably noticed that getting anything merged is a real
effort at the moment. The main problem is that CI takes in the region
of 5-7 hours and then spuriously fails at the end. After 5-7 hours you
have to rebase and run CI again and so on. Therefore I propose to run
just these four jobs on every MR:
validate-x86_64-linux-deb9
validate-x86_64-linux-deb8-hadrian
validate-x86_64-windows
validate-x86_64-darwin
The reasoning is as follows:
validate-x86_64-linux-deb9
validate-x86_64-linux-deb8-hadrian
These run first and are reliable and finish within an hour. Then we
have lots of less reliable, lower priority jobs.
Two windows jobs which take forever to run.
validate-x86_64-windows
validate-x86_64-windows-hadrian
One darwin job
validate-x86_64-darwin
Many more linux jobs
validate-x86_64-linux-deb9-unreg
validate-x86_64-linux-deb9-integer-simple
validate-x86_64-linux-fedora27
validate-x86_64-linux-deb9-llvm
validate-x86_64-linux-deb8
validate-i386-linux-deb9
validate-aarch64-linux-deb9
So I don't argue that these are important to test but at the moment
they produce too much friction on every commit through a combination
of lack of resources and taking too long.
Further to this, we really don't need to test fedora27, deb9 and deb8
for every build. When was the last time we broke one of these
platforms but not the other, it's rare!
So the concrete proposal is to slim back the per commit validation to four jobs.
validate-x86_64-linux-deb9
validate-x86_64-linux-deb8-hadrian
validate-x86_64-windows
validate-x86_64-darwin
which will test on the three major platforms.
All the other flavours should be run once the commit reaches master.
Thoughts?
Cheers,
Matt
More information about the ghc-devs
mailing list