Interface for Hydra and Cuirass (Nix and Guix build farms)

Alex Kost 5c268a3c23 Update version to 0.2.2 6 lat temu
.gitignore 7fecae86ee Initial commit 6 lat temu
README.org 82dbf78aa5 README: Add "Installation" section and some badges 6 lat temu
build-farm-build.el e244dea355 build: Generalize making "latest builds" buttons 6 lat temu
build-farm-evaluation.el 6a1b593d31 Update Cuirass evaluations for the latest API 6 lat temu
build-farm-jobset.el e244dea355 build: Generalize making "latest builds" buttons 6 lat temu
build-farm-popup.el fa7fa54901 popup: Switch keys for jobset and job 6 lat temu
build-farm-project.el 381e10f543 Rename 'build-farm-build-info-insert-builds-button' 6 lat temu
build-farm-url.el 06da6c8c2e url: Add and use "https://ci.guix.info" 6 lat temu
build-farm-utils.el c784acf46f Try to guess a package manager and a build farm url 6 lat temu
build-farm.el 5c268a3c23 Update version to 0.2.2 6 lat temu

README.org

file:http://melpa.org/packages/build-farm-badge.svg file:http://stable.melpa.org/packages/build-farm-badge.svg

About

Emacs-Build-Farm is an Emacs interface for Hydra and Cuirass — build farms for Nix and Guix package managers, i.e., for:

https://hydra.nixos Hydra for Nix
https://hydra.gnu Hydra for Guix
https://berlin.guixsd Cuirass for Guix

This package allows you to look at builds, jobsets, evaluations and projects of these build farms.

Installation

Emacs-Build-Farm can be installed using Guix or from MELPA.

Guix

Just use:


guix package -i emacs-build-farm

MELPA

If you added "melpa" or "melpa-stable" archives to package-archives as it is described on the MELPA Getting Started page, you can install "emacs-build-farm" using M-x package-install or =M-x list-packages= commands.

Usage

The entry point for the available features is M-x build-farm command. It provides a magit-popup interface to display evaluations, builds, jobsets and projects.

Alternatively, you can use the following M-x commands directly:

  • build-farm-projects
  • build-farm-project
  • build-farm-jobsets
  • build-farm-latest-evaluations
  • build-farm-latest-builds
  • build-farm-queued-builds
  • build-farm-build

Keys in "list" buffers

Most of the above commands show "list" buffers (list of builds, etc.). These lists provide some key bindings, the main of which are:

  • h (hint): allows you to look at the provided key bindings;
  • =RET=: displays "info" buffer for the current entry or several marked
  • entries (marked with =m= key).

Differences between Cuirass and Hydra

In the beginning there was Nix, and Hydra was its build farm. Then there appeared Guix which is technically very similar to Nix, except it is written in Guile. At first, Guix also used Hydra. Then Guix decided to make its own build farm, also written in Guile. So there appeared Cuirass. And Cuirass was very similar to Hydra, but afterwards it diverged quite a lot.

In particular, Cuirass does not have a notion of "project" anymore. Hydra has "projects" and "jobsets" inside each project. But Cuirass decided that projects are not needed, so it has only "jobsets".