From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Reflections on the release process Date: Wed, 15 Apr 2020 22:16:31 +0200 Message-ID: <873694o674.fsf@inria.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:34861) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOoSh-00061l-QO for guix-devel@gnu.org; Wed, 15 Apr 2020 16:16:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:46687) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jOoSh-0003X9-LO for guix-devel@gnu.org; Wed, 15 Apr 2020 16:16:43 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=38276 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jOoSX-0001Ro-Qh for guix-devel@gnu.org; Wed, 15 Apr 2020 16:16:42 -0400 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-mx.org@gnu.org Sender: "Guix-devel" To: guix-devel Hello Guix! The release process is long and tedious. I=E2=80=99m super happy we made t= hat release and did a lot of work collectively testing and fixing things, but I thought I=E2=80=99d share my frustrations while it=E2=80=99s fresh in= memory so we can brainstorm and make it better for next time! 1. =E2=80=9Cmake release=E2=80=9D requires ~6 hours to build everything. Y= ou have to have offloading enabled and the connections have to be stable all along. In total it builds the =E2=80=98guix=E2=80=99 package six times (on= ce for each binary tarball, then once for each ISO image). 2. =E2=80=9Cmake release=E2=80=9D commits to update =E2=80=98guix=E2=80=99 = and these commits are signed because that=E2=80=99s our Git config. That means gpg-agent must not forget your passphrase during that time or the process will stop in the middle. I work around that by temporarily increasing gpg-agent=E2=80=99s =E2=80=98default-cache-ttl=E2=80=99, only when I=E2=80=99m at home and near= my laptop, but it=E2=80=99s obviously not great. 3. =E2=80=98guix=E2=80=99 in the ISO image can install 1.1.0 precisely, but= that means that the commit that defines 1.1.0 has typically not been picked up by ci.guix.gnu.org (or we=E2=80=99d have to push it explicitly). So you have = to manually get berlin to build it afterwards or anyone installing Guix System will build from source. 4. We lack a clear way to mark bugs as release-critical. I=E2=80=99m really happy Florian, Mathieu, and I have been able to work together and squash bugs one by one (thank you!). Still, it would have been better if we could have tagged which is release-critical and which is not, to prevent misunderstandings such as regarding the NVMe bug: . Can Debbugs help? The GCC folks have a system that sends email with an update on the number of release-critical bugs. I=E2=80=99m sure we can learn from how others deal = with that. 5. With the installer, we have to test on actual hardware, and that necessarily takes time. Thumbs up to everyone who tried the RCs and reported back! Perhaps we need to make time for more RCs in the future. Yet, we probably don=E2=80=99t want the frozen branch to live for too long,= so that should still be fast-paced. 6. Writing release notes, announcements, etc. takes a lot of time. Part of the pain for 1=E2=80=933 is due to the insane amount of time it tak= es to build Guix entirely. That=E2=80=99s mostly work to be done on Guile=E2=80= =99s compiler, which is a top priority for Guix. Perhaps there are also things we can do on the Guix side, such as arranging for ISO images to use a Guix built with (guix self) rather than a =E2=80=98guix=E2=80=99 package to rebu= ild build times. For the other issues, I=E2=80=99m interested in any ideas you may have! Until then, big thanks to everyone who helped out over the months and especially over the last few days=E2=80=94now it=E2=80=99s party time! :-) Ludo=E2=80=99.