What is the main developers' stance on CI?
Currently a Linux build is done on Travis and a Windows build on AppVeyor.
I would recommend migrating to newer CI services:
* I've have an excellent experience with Cirrus CI. They offer an
extremely simple, no-frills experience; the UI has only the information
you need. They support building on arbitrary Docker containers (which
means it's easy to build on any Linux distro). They also have Windows,
MacOS and FreeBSD. All of these can be driven from one YAML file.
* I can also recommend GitLab CI which is similarly easy to use. Like
Cirrus, they easily support Docker containers for Linux builds. I'm not
sure how to do MacOS, Windows or BSD on it; you may have to bring your
own server and install your own build runner on it. GitLab CI has more
features than Cirrus but I'm not sure whether we need them (yet). It may
be that GitLab CI can only be used on GitLab-hosted repos; not sure
about this. So if we host Gambit on GitHub, there would have to be a
hook that auto-updates a GitLab mirror as well.
* Circle CI also gets a thumbs up from Göran Weinholt who has done
complex CI for Scheme. It has Linux, Windows and Mac; not sure about the
details. I have no personal experience with this service.
Separately from the choice of CI service, there's the question of how to
handle bootstrapping. Browsing Gambit's recent Travis logs, some builds
fail because they expect a `make modules` run. How often does the CI
break due to bootstrapping issues, and is there an easy solution to them?
It might be worth considering some "releases between releases" to ease
bootstrapping for people who actively follow Gambit to make it easier to
build the latest master. Would this make sense? I don't really grasp the
details of what I'm talking about here.