It seems that with Gitlab CI you can configure 'runners' on your own
hardware for the project(s) that use it, right? Yes. I could install gitlab-runner on my rpi2, get the "token" from gitlab, and have it sit there waiting to build. In that case, however, I'd essentially be letting remote run arbitrary shell commands on the machine.
So you can installdependencies and don't need to start with a clean slate for every
build? That has several pro's and cons as compared with Travis. More DIY, but still with a standardized API. Seems most people are using the docker runner with gitlab ci. I'm not sure how that could possibly work for OSX/Windows builds, so I use virtualbox. As for "clean slate", I guess that means different things. I'm currently cloning VM snapshots with *.deb dependencies installed because it saves time. Gitlab CI also allows you to save the previously cloned VM and use it for subsequent builds. But I don't trust gitlab, virtual, or gnu make to get any of that right.
Katja
Best, Jonathan