From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id sDGvHp238GH6+gAAgWs5BA (envelope-from ) for ; Wed, 26 Jan 2022 03:53:17 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id UF9XF5238GERJgEAG6o9tA (envelope-from ) for ; Wed, 26 Jan 2022 03:53:17 +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 48FBD15A13 for ; Wed, 26 Jan 2022 03:53:16 +0100 (CET) Received: from localhost ([::1]:39050 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nCYQt-0005m9-EA for larch@yhetil.org; Tue, 25 Jan 2022 21:53:15 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59382) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nCYQg-0005li-RI for bug-guix@gnu.org; Tue, 25 Jan 2022 21:53:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:57713) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nCYQg-0003t2-CC for bug-guix@gnu.org; Tue, 25 Jan 2022 21:53:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nCYQg-0002xl-5R for bug-guix@gnu.org; Tue, 25 Jan 2022 21:53:02 -0500 X-Loop: help-debbugs@gnu.org Subject: bug#53533: [DISCUSSION] Quality of services in reproducible build environment Guix Resent-From: Leo Famulari Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 26 Jan 2022 02:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53533 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Sharlatan Hellseher Received: via spool by 53533-submit@debbugs.gnu.org id=B53533.164316552211312 (code B ref 53533); Wed, 26 Jan 2022 02:53:02 +0000 Received: (at 53533) by debbugs.gnu.org; 26 Jan 2022 02:52:02 +0000 Received: from localhost ([127.0.0.1]:50616 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nCYPh-0002wA-MO for submit@debbugs.gnu.org; Tue, 25 Jan 2022 21:52:02 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:52053) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nCYPf-0002vs-Lc for 53533@debbugs.gnu.org; Tue, 25 Jan 2022 21:52:00 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 9145E5C0214; Tue, 25 Jan 2022 21:51:53 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Tue, 25 Jan 2022 21:51:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=cc:cc: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; bh=WNaJJLgB4ke6uSSOyr9SQMZmioe zOpDCzwaSLhP5+1I=; b=Q3FGl7POQrtYAahCkTJHl/tZYh5i2rEUmmAkLwUOcCQ EyMWLnCyuQvKrkZVQqvbBFWxPbHLfjwA04nHbJNLEEbs7bn+dKFWdv8NbVMSKw3G 542lrw2IZS8Pz4rlAGMizIdGtQ4wQocQJqq5yz14MerN84e539i+45/caQ5jiVQY = DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date: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=fm1; bh=WNaJJLgB4ke6uSSOy r9SQMZmioezOpDCzwaSLhP5+1I=; b=VFlhiZaTY3YxYgIs71RQdFDwN3XdkVp+i St65jjpHJr50ugDTR3VeGfw6vwF/+NzxxZcPzS74mG0LCg+PpJumlVRAE7kmth8M kxFUcdCTVKmMquK8uKAbrrm3eeEZzAgrHwHwq4d/MVHMR+ukZWSaiC0e2DOnCT4g ucJcmh8kqifzwteDhcHXnkM8WRJwbQoZpSwfU5H+dG+CDMYVwfd9/+9XK1ok3IvK CyMx/l1WhAxlHmZ3OwqPmjAgCBJVadYwnKflY3eXXTWDaC1XUOCEC2MprAZDduvM VepM8Ndr+n41iaoCGSQDcvVLwgu+EcnbzXctlde9XteEcABuAhJCw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddrfedtgdehvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepfffhvffukfhfgggtuggjsehttdertd dttddvnecuhfhrohhmpefnvghoucfhrghmuhhlrghrihcuoehlvghosehfrghmuhhlrghr ihdrnhgrmhgvqeenucggtffrrghtthgvrhhnpedvvddugefffeeitddthfefvdeuhffgke eikeegkeevteeghfeftefggeeuudffieenucffohhmrghinhepghhnuhdrohhrghenucev lhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlvghosehfrg hmuhhlrghrihdrnhgrmhgv X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 25 Jan 2022 21:51:53 -0500 (EST) Date: Tue, 25 Jan 2022 21:51:51 -0500 From: Leo Famulari Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 53533@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1643165597; 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:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=WNaJJLgB4ke6uSSOyr9SQMZmioezOpDCzwaSLhP5+1I=; b=Uq7kD9pMWd0FKZHKP9StY1nQjGHWNIJA6v69I3R0CP91XxSPWAuDLQAPf88gVY61u3BOCU kgphU5XTw2IsOTk1bRz8mKvbXbBbICCjQuSNTwEVj8NR34TrrR1ojPV1R3WBF4nDJc5VxT 9S5AMiM5xGXrG2vkYAAJ7XpmqhKmfbtif+ka0uZCSVz9gcs85JZ2TMn2lvXMkcIsfjvnuT jyiKgNYqQGS5Q29iCeo9VbGIvsRGcyY1BzUDLqw0ktCTDTRbX+9PCfzXubr1WEjxSGvKOu Z/2BUJY4ZPt5sEPLCtFXeWaFL5Yvx+vSXQ3HLUqX+N6blyeFXrOpWuNa/Yki9A== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1643165597; a=rsa-sha256; cv=none; b=o0BNgcr2r1Jt/cqddDDpXKXoXl2JlktSVZ8rDUgZBaPPFx9vxFLR0UWwkg2SLL2Aopmp07 +WqazIF9tNVGosDEUmMXo7SfzDObpxh4EMrD7jTkGrW0oiU//tVddHNmCmMjtmMVfWNFba 9PypOw2BdNrORhEonSGl7IpQd5wfiDMMzKl/qPnPXpxq2FfP3ZSKy8jxHYxk2NIkN7Jv+M xH2lP0kacMxUlZIBnVoReWWsrM6gQ0F8/MeBM/GIvsEaNSBBMX0jzZ2X2AITiEdFLtBLq3 YyPjljrtfaUrlF/O80ZzzFXuRqhqntbrv+BJ6rVOKtOlWcdubLkTQ7/X31nCOg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=famulari.name header.s=mesmtp header.b=Q3FGl7PO; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm1 header.b=VFlhiZaT; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.73 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=famulari.name header.s=mesmtp header.b=Q3FGl7PO; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm1 header.b=VFlhiZaT; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 48FBD15A13 X-Spam-Score: -2.73 X-Migadu-Scanner: scn0.migadu.com X-TUID: qBMF8/dFReXE On Tue, Jan 25, 2022 at 08:45:22PM +0000, Sharlatan Hellseher wrote: > The current QA for the accepted changes in Gujx is far away from > trustible. For example, some > changes in package update may cause a faileur of the whole chain of > packages depending on it. It > would be nice to have some soft policy of changes, check list or some > procedure to have a "stable" > branch which may guarantee all packages build successfully and pass of > all enabled tests. People are definitely supposed to check that their changes don't break things before they push them, but it doesn't always happen. It's not easy to make sure that all packages build successfully. I've never seen 100% of packages build successfully since I joined Guix in 2015. It's a nice goal but it requires some work... a lot more work. Everyone is invited to help. Probably, the first step is to remove several hundred packages that don't build; it might even be a couple thousand. > I would like to conclude from the CI is which commit broke how many > packages. Agreed, this is a very important missing feature. Also, we need the capability to compare commits in terms of CI results. Our CI software is called Cuirass: https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git We need more people to help develop Cuirass! > Some missing practice of packaging: > - Some essential message of the reason why tests were disabled and any > sort of suggestions on how to > make them enabled. Contact upstream if required. Everyone is supposed to do this when writing packages. It's a failure of the code review process if that is not happening. > - Before sending patch make sure (at least for the localhost > architecture) it's built, linted and in > case of bumping version - all dependent chain still can be built. This is supposed to be done for patches that go to the master branch. That is, patches that affect <300 packages. Other patches that affect more than 300 packages are batched on development branches such as 'core-updates' [0], and then we need a lot of Guix contributors to help get all the packages building again. Maybe we should remove broken packages more casually, like I suggested above. > Excess changes which could be prevented with just local attempt to build > #+begin_src sh > git log --grep="Fix build" --pretty="%h %s %cd - %cn" | wc -l > #+end_src > : 1025 We have 92225 commits total: ------ $ git log --oneline | wc -l 92225 ------ So, about 1.1% of them are "Fix build" commits. However, not all of these commits were made on the master branch. Many of them are on development branches such as 'core-updates' and 'staging', and so users never experienced the problems that were fixed. That doesn't mean that Guix QA is perfect, but rather that your measurement is inaccurate and misleading. [0] To learn more about development branches like core-updates, see item 8: https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html