all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: Vicente Eduardo <vic798@gmail.com>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: Guix in Docker for automated CD/CI of complex software
Date: Mon, 25 Nov 2019 22:33:17 +0100	[thread overview]
Message-ID: <CAJ3okZ0XUeKMP34f4u2bZsFQ6geJqeKNZYsS=N1LXVHEi8mJEA@mail.gmail.com> (raw)
In-Reply-To: <CAOUKKgEcWzAiOdPz-O53Q1PC02F7MhtCatWaHvUfhgCgriBVgQ@mail.gmail.com>

Hi,

On Fri, 22 Nov 2019 at 19:57, Vicente Eduardo <vic798@gmail.com> wrote:

> [...] I want to run guix inside docker in order to have a portable installation of guix for common ci/cd enviroments.

I was suggesting that maybe you can use Guix to create this image. :-)

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 57   Nov 25 2019 14:26:15    (current)
  guix b5d4d5b
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: b5d4d5b9bcf267fddd02fcc14b88eac0bebf979f
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
$ guix pack            \
     -f docker       \
     -C none         \
     -S /bin=bin     \
     -S /lib=lib     \
     -S /share=share \
     -S /etc=etc     \
     guix
$ docker load < /gnu/store/8vrdpas5s9alpczixc8bw83x9sxc8if5-docker-pack.tar
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
$ docker run -ti guix guix --version
--8<---------------cut here---------------end--------------->8---


Obviously, it needs some love (dameon) to fit your use case. And I do
not know if it make sense but I would try to replace this Dockerfile
[1] by a manifest and "guix pack". Or maybe as a first step using
Dockerfile based on Guix instead of Alpine.

[1] https://github.com/metacall/guix/blob/master/Dockerfile

And even, instead of the raw instruction, I would use the installation
script [2].

[2] https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh


> Here's the metacall schema: https://github.com/metacall/distributable/blob/53caad582cd097c5e92798bf0ec16660bfc4030c/source/metacall.scm
>
> My idea is to generate a zip with all libraries self contained, rather than a Docker image.

The "guix pack" should fit your need. But I am not sure because it is
a simple cmake-build-system with few (guix) dependencies, i.e., it
"relies a lot in CMake features like ExternalProject".



All the best,
simon

  reply	other threads:[~2019-11-25 21:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-21 14:41 Guix in Docker for automated CD/CI of complex software Vicente Eduardo
2019-11-22 14:23 ` Hartmut Goebel
2019-11-22 14:34   ` zimoun
2019-11-22 18:41   ` Vicente Eduardo
2019-11-25 21:33     ` zimoun [this message]
2019-11-26  9:59       ` Ludovic Courtès
2019-11-26 16:54         ` zimoun

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

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

  git send-email \
    --in-reply-to='CAJ3okZ0XUeKMP34f4u2bZsFQ6geJqeKNZYsS=N1LXVHEi8mJEA@mail.gmail.com' \
    --to=zimon.toutoune@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=vic798@gmail.com \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.