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