guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Simplified release process


From: Ludovic Courtès
Subject: Simplified release process
Date: Wed, 10 May 2017 14:31:09 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hello Guix!

The release process as documented in doc/release.org was terrible
because it involved a lengthy sequence of error-prone manual steps.

Commit 334dce145122683e576ca4cb6c68c360d4aada7e adds a ‘release’
makefile target.  “make release” produces the source tarball, the binary
tarballs, and the GuixSD installation images, which can then be directly
uploaded.  Offloading must be set up to build binary tarballs for all
the architectures.

This involves building Guix a couple of times for each architecture so
it takes time.  *If* Guix’s build process is deterministic, that’s OK,
though it seems that Guix occasionally fails to build in a
non-deterministic fashion (that was the case with Guile 2.0 in part due
to non-thread-safe ports I think; 2.2 has thread-safe ports, so it might
be better.)

Anyway, I would welcome feedback especially from you Ricardo since you
felt the pain before.  :-)  An easy way to test is by building for a
single architecture:

  make release -j4 SUPPORTED_SYSTEMS=x86_64-linux \
    GUIXSD_SUPPORTED_SYSTEMS=x86_64-linux

Note that this will make a couple of commits on your behalf, to update
the ‘guix’ package, so be careful.

I’m also interested in thoughts on how to automate other bits from the
release process, though they are probably less critical:

  https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/doc/release.org

Ludo’.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]