Earl Chase <[email protected]> writes:
Quick note though: Guix is a rolling-release somewhat niche
distro. I would love to see this get setup but I worry that it
might just be a frustrating rabbit hole. If this is put in a
container that gets reset each time, then it might require the
rebuild of the older emacs versions each time which would be
very inefficient.
I'm not a CI expert but isn't this how all CI systems work? Also
isn't that what we want, a completely refresh emacs for each
run?
I'm unfamiliar with CI systems and I'm sorta guessing how they
work. I belive what we want to do is pull in a pre-built Emacs
binary and then build org-mode with it. Currently, guix offers a
pre-built binary for emacs 31 and emacs 32.0 (called emacs-next)
available from the official substitute servers.
My guix.scm file also adds definitions for Emacs 28, 29, and 30.
There are no substitute servers that provide these so we'd have to
build Emacs from scratch (which is a pretty long compile). If we
end up rebuilding these 3 emacs's every time we run CI, then it
might take hours when it should take maybe 10 minutes I think.
It might be worthwhile to setup a more mainstream approach
first. If for no other reason then to be able to learn the CI
system without Guix getting in the way.
One option could be to use a Debian or Ubuntu image and then
install just the guix package manager on that image. Then we
could just test builds with guix containers. Maybe that's a
little convoluted. But I use guix containers for all of my elisp
projects so I know that would work.
I didn't realize you also used Guix! If you're already invested
in Guix then please do continue that! This is my first time
encountering another user in the wild :P