From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2@gmail.com Subject: Re: [Orchestration][RFC] A simple draft for channels Date: Mon, 19 Mar 2018 14:21:35 -0400 Message-ID: <87d100ncy8.fsf@gmail.com> References: <87bmhq6ytg.fsf@mdc-berlin.de> <87shar5wp8.fsf@gmail.com> <20180319120400.GA13807@thebird.nl> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47402) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1exzPj-0007Fh-0o for guix-devel@gnu.org; Mon, 19 Mar 2018 14:21:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1exzPf-0007Yq-1L for guix-devel@gnu.org; Mon, 19 Mar 2018 14:21:43 -0400 Received: from mail-qk0-x22a.google.com ([2607:f8b0:400d:c09::22a]:39317) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1exzPe-0007Xu-TB for guix-devel@gnu.org; Mon, 19 Mar 2018 14:21:38 -0400 Received: by mail-qk0-x22a.google.com with SMTP id j73so11910836qke.6 for ; Mon, 19 Mar 2018 11:21:38 -0700 (PDT) In-Reply-To: <20180319120400.GA13807@thebird.nl> (Pjotr Prins's message of "Mon, 19 Mar 2018 13:04:00 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Pjotr Prins Cc: guix-devel@gnu.org, Ricardo Wurmus Hi Pjotr, On 03/19/2018 at 13:04 Pjotr Prins writes: > Let's start up again on this conversation in the context of > deployment. I have a simple use case. For GeneNetwork we maintain > GUIX_PACKAGE_PATH packages. It contains packages that ought to go in > main line (such as python-gunicorn), but also packages that will never > make it (such as a javascript twitter feed). > > Now we deploy multiple setups, which I'll simplify to development, > testing and production here (there are more!). Each of these has a > combination of a Guix git checkout and a GUIX_PACKAGE_PATH checkout. > > These git repo's are supposedly in sync with each other. > > Moving from one to the other, however, is too complicated and error > prone. I can do it, but no one else really wants to. Even with my > explanations it proves to be a royal pain. How about making guix a submodule of the GeneNetwork repo? > Now I need a way to no longer rebuild all .go files for Guix tree > updates/changes. Not only between switching branches, but also when > just running 'git pull' from Guix savannah. I find I have to do that > very often. So often that I don't even try running make anymore > without make clean. Anyone here share that experience? Yes the guix make does seem rather fragile ;-) So I usually do ... guix environment guix -M 4 -c 4 --ad-hoc help2man git strace rm -fr /home/g1/.cache/guile/ccache/* sudo git clean -dfx git pull ./bootstrap ./configure --localstatedir=/var --sysconfdir=/etc make -j 10 make -j 10 check This takes a while but it avoids me chasing spurious errors caused by clashes between the state of my build directory and the upstream changes ;-) > One thing I could do is split out 3 git repos for every use case and > update these individually not triggering rebuilds. And when I deploy > on other machines move the complete repo across with .go files. Have you considered a git-worktree for each of the development, testing and production branches? HTH - George