From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 8DDqHE3zvGOTZQEAbAwnHQ (envelope-from ) for ; Tue, 10 Jan 2023 06:10:37 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id YELrHE3zvGNaUQEAauVa8A (envelope-from ) for ; Tue, 10 Jan 2023 06:10:37 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 29FA22DEAF for ; Tue, 10 Jan 2023 06:10:37 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pF6tg-0008LU-HJ; Tue, 10 Jan 2023 00:10:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pF6te-0008LK-Qn for guix-devel@gnu.org; Tue, 10 Jan 2023 00:10:03 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pF6tc-0000XN-KU for guix-devel@gnu.org; Tue, 10 Jan 2023 00:10:02 -0500 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 87FF55C0242; Tue, 10 Jan 2023 00:09:57 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Tue, 10 Jan 2023 00:09:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=cc:cc:content-transfer-encoding:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=mesmtp; t=1673327397; x=1673413797; bh=nR6kYf5CtSi/IvgYQXmwBw7TRJBKrT/4/T9EsmcmpwI=; b= 1FIsTGJemcDv0Hfv6cCA9bwhAWWck3Rs5ZK5j64X46viCvB4khnYMF+Qcw28WWht i/MRPB63WCCoD0bhlLWFq4/5WVd+Zz2IDlXR8ozgXNjc+A1ypDJucPVNicUKvhGj L6ZDH09vKU6vn9nrx0qgyvE4PpjaKGOz/Jj6iD1k2XA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1673327397; x= 1673413797; bh=nR6kYf5CtSi/IvgYQXmwBw7TRJBKrT/4/T9EsmcmpwI=; b=f sqAygB+Uj/HFsd/DIDlsHUVZjhfoID+/XJ2+joeC3vnCMbQ+WptTiIQYquqa4821 g6yNRPNMpfuglrVpUooJGZWA0rHn01QhdoNwx+ovbFaTk4sCqhz9K5eW9DIfB24+ TY6GUW6wP569Z7rRsHI/dco54EU5f3KW6zf6pGSlZ14jDPiFac9oHZ1FBEZPs+Fr nzOJiHRFXhgjLz9uUtneuwDoheDzH7o5XEGLzQp3yO7wFF13tPL7IkZaIm7vaOUQ Yal6SbY0M71r+dBxve2efeNj8JIpqlyB/v50ZZkmVcBN+26Lo4us8JhViGTaGJuz EZG3/k3BDcm2wMIis0Heg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrkeejgdekudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvvefukfhfgggtugfgjgesmhekreertddtvdenucfhrhhomhepnfgvohcu hfgrmhhulhgrrhhiuceolhgvohesfhgrmhhulhgrrhhirdhnrghmvgeqnecuggftrfgrth htvghrnhepheetudegtefhiedtgfetledvhfehhfehgeejjeduudegieelgeejieeifeet hedtnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheplh gvohesfhgrmhhulhgrrhhirdhnrghmvg X-ME-Proxy: Feedback-ID: i819c4023:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 10 Jan 2023 00:09:57 -0500 (EST) Date: Tue, 10 Jan 2023 00:09:54 -0500 From: Leo Famulari To: John Kehayias Cc: guix-devel@gnu.org Subject: Re: Golang go-updates feature branch? Message-ID: References: <87h6x0ac90.fsf@protonmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="TseiCqyDV82cNMum" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87h6x0ac90.fsf@protonmail.com> Received-SPF: pass client-ip=66.111.4.25; envelope-from=leo@famulari.name; helo=out1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list 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+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1673327437; a=rsa-sha256; cv=none; b=THEtdl2rp/bsU0xYDy9FGen02hR1TTG6Ie3ryzTa1NDyYuel68HGR6DP6872LLl2MC65vj HZkJVisIl06DkZcei+h3UFTndBTeS2hO2XGjr8nXiQ0GiD1a9URe0S0t4D0MvQNiyH3Atu 8xURw/y5biPVAGGH69GKq7Y9+1eFkPJDAfY6yY+oZ8LQp7RTVEXWEuwUrbV5DwJ8uZB9he ywU5tb4cPVoi/O+N2ooEjjvmcFtlrvJ3ylRNB0vxi0/5Axu58D0s5HWlIdjPAjNvO7/fMb iZkxzFVue1MIzcVl9iIJQTHuWQww5sc+GNCvXpI8tkl94+BB0L23LJuMZ3UleA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=famulari.name header.s=mesmtp header.b=1FIsTGJe; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b="f sqAygB"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1673327437; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=nR6kYf5CtSi/IvgYQXmwBw7TRJBKrT/4/T9EsmcmpwI=; b=bDnlPhg67KM+N43fvurfaTk4s5yWXkFSRTkfZB0cQ7ppbj8yG21w6MXf70MKCqLLljKRYv 4SiG/YTZ2ngBuINpIjIF3WYczoNVTuyHBWnrDgg+Is85pQBfM3Slvj7og72hTYcnsAy/rW WqUuWqC7AkPpQHud5WtucsKeECSEYpafKt3mOVUb0Ujx4/X81+405TUPlpnD4e1onKeDc0 6jgGpnjBafx/E8h+afz4IXqstXPC8qInJ0yIFPQxqJNLLJZ792+a1WzmtGGMM1Wr0I4HVM tRzAsTvYiZC2e/ONUBYKdV5OaNi/RRLjauJ417aBfvy/HocFapMIpfqahNF3sw== X-Migadu-Spam-Score: 0.52 X-Spam-Score: 0.52 X-Migadu-Queue-Id: 29FA22DEAF X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=famulari.name header.s=mesmtp header.b=1FIsTGJe; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b="f sqAygB"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none X-TUID: qkaluI6HswuY --TseiCqyDV82cNMum Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sun, Jan 08, 2023 at 10:32:36PM +0000, John Kehayias wrote: > Heartily agree here. This has come up a few times on #guix and generally with support (don't let me speak for everyone though). I think the idea of smaller and more frequent feature branches is a great idea: less code changes coming to master to review at once (compared to big core-updates merges), substitutes and closer to master to be easier for people to pull the branch and test, and some areas despite the number of builds would work nicely as a branch than just pushed (and lingering) into core-updates for much later. I agree with all your points. We used to work this way back in the day when there weren't very many Guix packages. There was always a 'core-updates' job, but if it was limited to packages that truly are "core". Then, for several years, the build farm was underpowered relative to the number of packages and it became impractical. I think we are past that now. I've attached a couple patches to get started but I need help getting them to work. There is 'etc/go-manifest.scm', which does work with `guix package -m etc/go-manifest.scm --dry-run`. And there is a diff for 'build-aux/cuirass/evaluate.scm', so that I can test it with `make cuirass-jobs`. But, `make cuirass-jobs` crashes with this manifest and I don't know why: ------ $ make cuirass-jobs Compiling Scheme modules... Compiling Scheme modules... Compiling Scheme modules... Compiling Scheme modules... Compiling Scheme modules... rm -rf "cuirass-jobs" GEN cuirass-jobs Computing Guix derivation for 'x86_64-linux'... / In thread: uncaught throw to %exception: (#<&inferior-exception arguments: (wrong-type-arg "primitive-load" "Wrong type argument in position ~A (expecting ~A): ~S" (1 "string" #f) (#f)) inferior: # stack: ((#f ("ice-9/boot-9.scm" 1779 13)) (raise-exception ("ice-9/boot-9.scm" 1682 16)) (raise-exception ("ice-9/boot-9.scm" 1684 16)) (primitive-load (#f #f #f)) (save-module-excursion ("ice-9/boot-9.scm" 2835 4)) (#f (#f #f #f)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (#f ("gnu/ci.scm" 449 8)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (cuirass-jobs ("gnu/ci.scm" 489 4)) (#f ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (call-with-prompt ("ice-9/boot-9.scm" 723 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 98 21)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (with-exception-handler ("ice-9/boot-9.scm" 1746 15)) (#f ("guix/repl.scm" 125 7)))>) In thread: uncaught throw to %exception: (#<&inferior-exception arguments: (wrong-type-arg "primitive-load" "Wrong type argument in position ~A (expecting ~A): ~S" (1 "string" #f) (#f)) inferior: # stack: ((#f ("ice-9/boot-9.scm" 1779 13)) (raise-exception ("ice-9/boot-9.scm" 1682 16)) (raise-exception ("ice-9/boot-9.scm" 1684 16)) (primitive-load (#f #f #f)) (save-module-excursion ("ice-9/boot-9.scm" 2835 4)) (#f (#f #f #f)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (#f ("gnu/ci.scm" 449 8)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (cuirass-jobs ("gnu/ci.scm" 489 4)) (#f ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (call-with-prompt ("ice-9/boot-9.scm" 723 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 98 21)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (with-exception-handler ("ice-9/boot-9.scm" 1746 15)) (#f ("guix/repl.scm" 125 7)))>) In thread: uncaught throw to %exception: (#<&inferior-exception arguments: (wrong-type-arg "primitive-load" "Wrong type argument in position ~A (expecting ~A): ~S" (1 "string" #f) (#f)) inferior: # stack: ((#f ("ice-9/boot-9.scm" 1779 13)) (raise-exception ("ice-9/boot-9.scm" 1682 16)) (raise-exception ("ice-9/boot-9.scm" 1684 16)) (primitive-load (#f #f #f)) (save-module-excursion ("ice-9/boot-9.scm" 2835 4)) (#f (#f #f #f)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (#f ("gnu/ci.scm" 449 8)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (cuirass-jobs ("gnu/ci.scm" 489 4)) (#f ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (call-with-prompt ("ice-9/boot-9.scm" 723 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 98 21)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (with-exception-handler ("ice-9/boot-9.scm" 1746 15)) (#f ("guix/repl.scm" 125 7)))>) In thread: uncaught throw to %exception: (#<&inferior-exception arguments: (wrong-type-arg "primitive-load" "Wrong type argument in position ~A (expecting ~A): ~S" (1 "string" #f) (#f)) inferior: # stack: ((#f ("ice-9/boot-9.scm" 1779 13)) (raise-exception ("ice-9/boot-9.scm" 1682 16)) (raise-exception ("ice-9/boot-9.scm" 1684 16)) (primitive-load (#f #f #f)) (save-module-excursion ("ice-9/boot-9.scm" 2835 4)) (#f (#f #f #f)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (#f ("gnu/ci.scm" 449 8)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (cuirass-jobs ("gnu/ci.scm" 489 4)) (#f ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (call-with-prompt ("ice-9/boot-9.scm" 723 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 98 21)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (with-exception-handler ("ice-9/boot-9.scm" 1746 15)) (#f ("guix/repl.scm" 125 7)))>) ------ --TseiCqyDV82cNMum Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="evaluate.scm.diff" diff --git a/build-aux/cuirass/evaluate.scm b/build-aux/cuirass/evaluate.scm index 7ae5c266d1..92743508df 100644 --- a/build-aux/cuirass/evaluate.scm +++ b/build-aux/cuirass/evaluate.scm @@ -96,7 +96,9 @@ (define derivation inferior store `(lambda (store) (cuirass-jobs store - '((subset . all) + '((subset + . (manifests + "etc/go-manifest.scm")) (systems . ,(list system)) (channels . ,channels)))))) (file --TseiCqyDV82cNMum Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: attachment; filename="go-manifest.scm" Content-Transfer-Encoding: 8bit ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2023 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (use-modules (guix packages) (guix profiles) (gnu packages) (guix build-system go)) (manifest (map package->manifest-entry (fold-packages (lambda (package result) (if (or (eq? (package-build-system package) go-build-system) (equal? (package-name package) "go")) (cons package result) result)) '()))) --TseiCqyDV82cNMum--