* Re: Setting up CI for Guile
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
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2016-10-06 9:43 UTC (permalink / raw)
To: Wilfred Hughes; +Cc: guile-devel
Wilfred Hughes <me@wilfred.me.uk> writes:
> 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.
Hi, thanks for working on this, it sounds like an interesting idea. :-)
Just one thing that caught my eye:
> 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).
>
> You can see my different branches being tested here:
> https://gitlab.com/wilfred/guile/pipelines?scope=branches
As far as I know, while there's a "community edition" of GitLab that's
free software, gitlab.com runs on the proprietary "enterprise edition".
So using it for a GNU project is probably not a good idea.
Taylan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Setting up CI for Guile
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
2016-10-06 15:16 ` Jan Nieuwenhuizen
2016-10-11 19:56 ` Ludovic Courtès
2016-10-18 1:39 ` Mike Gerwitz
3 siblings, 1 reply; 6+ messages in thread
From: Thompson, David @ 2016-10-06 14:34 UTC (permalink / raw)
To: Wilfred Hughes; +Cc: guile-devel
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Setting up CI for Guile
2016-10-06 14:34 ` Thompson, David
@ 2016-10-06 15:16 ` Jan Nieuwenhuizen
0 siblings, 0 replies; 6+ messages in thread
From: Jan Nieuwenhuizen @ 2016-10-06 15:16 UTC (permalink / raw)
To: Thompson, David; +Cc: guile-devel
Thompson, David writes:
>> 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.
+1
> 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 so much like this idea, that I contributed some patches to Cuirass to
do exactly this. Next to being a CI dedicated for GuixSD to track any
package's git. Here's the discussion
https://lists.gnu.org/archive/html/guix-devel/2016-09/threads.html#01338
patches are in Cuirass now and anyone is much encouraged to play.
> I think this is a wonderful idea that could use a new implementation.
> Thanks for getting the ball rolling with the proof-of-concept!
Yes!
Greetings,
Jan
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Setting up CI for Guile
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
@ 2016-10-11 19:56 ` Ludovic Courtès
2016-10-18 1:39 ` Mike Gerwitz
3 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2016-10-11 19:56 UTC (permalink / raw)
To: guile-devel
Hello,
Wilfred Hughes <me@wilfred.me.uk> skribis:
> 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.
FWIW, Guile has been continuously built on resources provided by the
NixOS project for several years now:
http://hydra.nixos.org/jobset/gnu/guile-master
http://hydra.nixos.org/jobset/gnu/guile-2-0
See <https://www.gnu.org/software/devel.html#Hydra> for details.
There’s no integration with patch review though.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Setting up CI for Guile
2016-10-06 4:26 Setting up CI for Guile Wilfred Hughes
` (2 preceding siblings ...)
2016-10-11 19:56 ` Ludovic Courtès
@ 2016-10-18 1:39 ` Mike Gerwitz
3 siblings, 0 replies; 6+ messages in thread
From: Mike Gerwitz @ 2016-10-18 1:39 UTC (permalink / raw)
To: Wilfred Hughes; +Cc: guile-devel
[-- Attachment #1: Type: text/plain, Size: 1302 bytes --]
Wilfred:
On Thu, Oct 06, 2016 at 00:26:28 -0400, Wilfred Hughes wrote:
> 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 CE is free software. GitLab EE is not, but all of the JavaScript
served to the browser is.[0]
But their CI services are SaaSS.[1] If all builds took place on servers
that Guile developers control---like the current Hydra servers---then
this wouldn't be a problem.
The GNU Project has criteria for hosts that it considers to be
acceptable for hosting GNU software.[2] GitLab is an acceptable host
under those criteria, but one of the criteria---A5---requires that the
host not recommend SaaSS. Unfortunately, GitLab won't ever be able to
meet that. It's okay to use GitLab to host repositories, but not for
SaaSS.
[0]: https://about.gitlab.com/2015/05/20/gitlab-gitorious-free-software/
[1]: https://www.gnu.org/philosophy/who-does-that-server-really-serve.html
[2]: https://www.gnu.org/software/repo-criteria.html
--
Mike Gerwitz
Free Software Hacker+Activist | GNU Maintainer & Volunteer
GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05
Old: 2217 5B02 E626 BC98 D7C0 C2E5 F22B B815 8EE3 0EAB
https://mikegerwitz.com
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread