unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: "Thompson, David" <dthompson2@worcester.edu>
To: Wilfred Hughes <me@wilfred.me.uk>
Cc: guile-devel <guile-devel@gnu.org>
Subject: Re: Setting up CI for Guile
Date: Thu, 6 Oct 2016 10:34:39 -0400	[thread overview]
Message-ID: <CAJ=RwfZQ+8FGB+NHJstPRjkQd=ZAwy+ekm-_Wrv-B2FSJrfomQ@mail.gmail.com> (raw)
In-Reply-To: <CAFXAjY5HwP07aBuoGzEAT2ZcqYF=YZ6Uueza-p_RLAFsQzdmmg@mail.gmail.com>

On Thu, Oct 6, 2016 at 12:26 AM, Wilfred Hughes <me@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



  parent reply	other threads:[~2016-10-06 14:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-06  4:26 Setting up CI for Guile Wilfred Hughes
2016-10-06  9:43 ` Taylan Ulrich Bayırlı/Kammer
2016-10-06 14:34 ` Thompson, David [this message]
2016-10-06 15:16   ` Jan Nieuwenhuizen
2016-10-11 19:56 ` Ludovic Courtès
2016-10-18  1:39 ` Mike Gerwitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ=RwfZQ+8FGB+NHJstPRjkQd=ZAwy+ekm-_Wrv-B2FSJrfomQ@mail.gmail.com' \
    --to=dthompson2@worcester.edu \
    --cc=guile-devel@gnu.org \
    --cc=me@wilfred.me.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).