summaryrefslogtreecommitdiff
path: root/admin/notes/hydra
blob: 1b7d915c7a35c64fc29b36d5667737048c57f55f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
-*- mode: outline; coding: utf-8 -*-

Copyright (C) 2013-2020 Free Software Foundation, Inc.
See the end of the file for license conditions.

NOTES FOR EMACS CONTINUOUS BUILD ON HYDRA

A continuous build for Emacs can be found at
https://hydra.nixos.org/jobset/gnu/emacs-trunk

* It builds Emacs on various platforms.
Sometimes jobs fail due to hydra problems rather than Emacs problems.

* Mail notifications
In addition to the web interface, Hydra can send notifications by
email when the build status of a project changes, e.g., from
SUCCEEDED to FAILED.  It sends notifications about build status in
Emacs trunk to emacs-buildstatus@gnu.org.

If you want to receive these notifications, please subscribe at
https://lists.gnu.org/mailman/listinfo/emacs-buildstatus

(This feature seems to have been broken for ages.)

* The Emacs jobset consists of the following jobs:

** The 'tarball' job
which gets a checkout from the repository, and does a bootstrap followed
by running make-dist to create a tarball.  If this job fails, all the
others will too (because they use the tarball as input).

** The 'build' job
which starts from the tarball and does a normal build.

** The 'coverage' job
does a gcov build and then runs 'make check-expensive'.  Fails if any
test fails.

* Nix expressions
The recipe for GNU Emacs are available via Git:
https://git.savannah.gnu.org/cgit/hydra-recipes.git/tree/emacs

To modify the build job, email the patch to hydra-users@gnu.org.  The
build recipes are written in the Nix language.

* Identifying hydra
Lisp packages, Makefiles, scripts, and other software could determine
whether they run on hydra by checking for the environment variable
EMACS_HYDRA_CI.

* Other Information
For a list of other GNU packages that have a continuous build on
Hydra, see https://hydra.nixos.org/project/gnu

See https://www.gnu.org/software/devel.html#Hydra for more information.


This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.