emacs-orgmode
[Top][All Lists]
Advanced

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

Re: About org-mode-tests and CI


From: Ihor Radchenko
Subject: Re: About org-mode-tests and CI
Date: Thu, 17 Nov 2022 11:58:46 +0000

Simon Tournier <zimon.toutoune@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>



reply via email to

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