[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’.
signature.asc
Description: PGP signature
- Simplified release process,
Ludovic Courtès <=