Simon Tournier <zimon.touto...@gmail.com> writes: > Recently, Bastien told me about using GNU Guix for some tests of Org. > Neat! Then, Bastien pointed this org-mode-tests [1] effort. > > Unrelated, Philip provides Guix recipes [2] for various old Emacs > versions. > > Org and Guix are part of the GNU system. Therefore, we could imagine to > bridge instead of relying on Debian. :-) > > Moreover, what would be another advantage? Run the exact same > computational environment from locally to SourceHut builds.
I am not sure what you mean here. Also, note that org-mode-tests has /local folder running local podman builds with reproducible environment. See https://git.sr.ht/~bzg/org-mode-tests/#usage > Two directions: > > 1. The SourceHut image of Guix [3] could be used but – and maybe I am > missing a point since I am not an expert about SourceHut CI – the state > (revision) of this image is not controlled and thus it requires > something like: > > image: guix > tasks: > - guix: | > guix pull -C project/path/to/channels.scm > > Well, I do not know how SourceHut is caching but somehow the .yml > configuration leads to always the same computational environment > (image), in which “make test” is run. Therefore, the CI could spend > more time in computing again and again this fixed state than running the > Org test suite. :-) I do not think that is it dramatically different from other images (debian/ubuntu). Need to install non-default packages one way or another. > 2. Using [2], it appears to me almost straightforward to build > beforehand a Docker pack containing all the requirements; say emacs@26, > curl, gcc-toolchain, git, etc. And this Docker pack would be built > using GNU Guix, > > guix pack -f docker -m manifest.scm > > where the file manifest.scm lists all the requirements. Using adequate > option as --save-provenance, this Docker pack can be inspectable [4] and > it could be stored to any Docker registery. > > Hence, the line, > > image: debian/oldstable > > or some images as, > > image: ubuntu/focal > repositories: > emacs: http://ppa.launchpad.net/kelleyk/emacs/ubuntu focal main > 3FF0E01EEAAFC9CD > > would be replaced by some images produced by “guix pack -f docker” > stored to some Docker registery. I guess it could be fine. Though I am not sure how the images are going to be upgraded then as the required packages (Elisp and system) are updated to new versions. > All in all, I forked the project [1] but the SourceHuts build (CI) > requires some fee, right? Well, let me know how we could test this > approach of using Guix as base for running Org test suite. > > (The maintenance of such can be part of the story too. ;-)) I think Bastien will contact you about this. He has access to the build servers. > Last, without putting the cart before the horse, I think this work could > be a kind of preliminary proof-of-concept for testing Emacs packages > (ELPA, MELPA, etc.). Yep. Or maybe even Emacs itself? I am not sure if Emacs is currently using CI. Just recall talks about it. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>