guix-devel
[Top][All Lists]
Advanced

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

News from Cuirass


From: Ludovic Courtès
Subject: News from Cuirass
Date: Sun, 16 Jul 2023 15:52:56 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Hello Guix!

A couple of months ago, I found myself working on hot fixes for Cuirass,
whose repository had been gathering dust for months.  One thing leads to
another, and I’ve worked on a few improvements recently:

  • Guile-Squee (interface to PostgreSQL) now cooperates with Fibers,
    meaning that ‘exec-query’ is suspendable.

  • Thanks to advice from Chris Baines, Cuirass now uses a database
    connection pool instead of the database service thread it used to
    have.

  • ‘cuirass remote-server’ and ‘cuirass remote-worker’, the processes
    in charge of distributing builds remotely and that communicate over
    ZeroMQ, are now single fiberized processes (this was made possible
    by making the ‘receive-message’ procedure, built upon
    Guile-Simple-ZMQ, cooperative).  These commands used to spawn a
    bunch of processes and threads.

  • Assorted improvements to the web interface and to logging.

I’m regularly deploying the latest revision at
<https://guix.bordeaux.inria.fr> using the Cuirass channel (I’m
purposefully postponing an update of the ‘cuirass’ package until I’ve
acquired more experience and confidence.)  If you’re running an instance
of Cuirass and feeling adventurous, you can try it as well:

  (cons* (channel
          (name 'cuirass)
          (url "https://git.savannah.gnu.org/git/guix/guix-cuirass.git";)
          (introduction
           (make-channel-introduction
            "c75620777c33273fcd14261660288ec1b2dc8123"
            (openpgp-fingerprint
             "3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5"))))
         %default-channels)

With these architectural changes, we should be able to make more visible
improvements such as adding web hooks (so a Git repo can trigger a new
evaluation), replacing polling with notifications in many cases, adding
a Build Coordinator backend (convergence!), etc.  See
<https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/tree/TODO>.

Contributions welcome!  :-)

Ludo’.



reply via email to

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