On Thu, Oct 6, 2016 at 12:26 AM, Wilfred Hughes <m...@wilfred.me.uk> wrote: > Hi folks > > I'm a big fan of CI (automated testing), and maybe you are too. I'd > love to have CI for reviewing patches of Guile.
This is a good idea. > So, I decided to set it up! This isn't something that's available on > GNU Savannah, so I've used GitLab (which is still FSF-approved Free > Software). gitlab.com runs the proprietary version of the GitLab server, but IIRC all of the JavaScript is still free, so it's OK, but not ideal. > You can see my different branches being tested here: > https://gitlab.com/wilfred/guile/pipelines?scope=branches > > Guile compilation is slow: 3 hours 15 minutes on my feeble laptop. > GitLab's CI only gives you an hour. That's unfortunate. It's important to build from scratch, which means bootstrapping the compiler, which indeed takes awhile, but patches generally take days or longer to be reviewed and merged so a few hours is no big deal, IMO. The GNU Guix project is working on a replacement for its current CI system at hydra.gnu.org that runs Hydra from the Nix project, named Cuirass, so I think we should try to use that instead of GitLab. > I solved this by creating a Docker image: > https://gitlab.com/wilfred/guile-build-image that contains a recent > checkout of Guile that has been built. This allows me to do an > incremental build in GitLab, which is much faster (5-10 minutes, > including tests). Docker is a dealbreaker for me. Don't have time to get into it here but it would be much better to use Guix, which has the additional benefit of being written in Guile. > What do you think? I'd love this to become the standard way to > contribute: it's easy to see what patches are in need of review, and > whether tests pass after a given patch is applied. I think this is a wonderful idea that could use a new implementation. Thanks for getting the ball rolling with the proof-of-concept! - Dave