Hydra, for Lix
Find a file
Eelco Dolstra 9127f5bbc3 hydra-queue-runner: Limit memory usage
When using a binary cache store, the queue runner receives NARs from
the build machines, compresses them, and uploads them to the
cache. However, keeping multiple large NARs in memory can cause the
queue runner to run out of memory. This can happen for instance when
it's processing multiple ISO images concurrently.

The fix is to use a TokenServer to prevent the builder threads to
store more than a certain total size of NARs concurrently (at the
moment, this is hard-coded at 4 GiB). Builder threads that cause the
limit to be exceeded will block until other threads have finished.

The 4 GiB limit does not include certain other allocations, such as
for xz compression or for FSAccessor::readFile(). But since these are
unlikely to be more than the size of the NARs and hydra.nixos.org has
32 GiB RAM, it should be fine.
2016-03-09 14:30:13 +01:00
doc Disable building the PDF manual 2015-07-08 16:51:05 +02:00
src hydra-queue-runner: Limit memory usage 2016-03-09 14:30:13 +01:00
tests Fix test 2016-02-26 19:54:32 +01:00
.gitignore Shut up warnings 2015-05-28 17:38:17 +02:00
bootstrap hydra: Simplify `bootstrap'. 2011-01-14 10:52:47 +00:00
configure.ac Allow the machines file to specify host public keys 2015-08-26 13:43:02 +02:00
COPYING hydra: revert license change 2010-03-29 14:16:46 +00:00
dev-shell Force bash usage in dev-shell. Should fix #236 2015-08-17 15:47:58 +00:00
hydra-module.nix Remove another obsolete SSL variable 2016-03-02 15:03:54 +01:00
INSTALL hydra: use autoconf/-make 2010-09-30 14:29:15 +00:00
Makefile.am Install hydra-module.nix into $out/share/nix 2013-07-28 11:24:31 -04:00
README.md Build from source remark in README.md 2015-02-10 13:06:04 +00:00
release.nix Add an S3-backed binary cache store 2016-02-18 16:18:50 +01:00
version hydra: fix tarball build, add pre suffix to tarballs 2010-09-30 15:02:42 +00:00

To start hacking on Hydra, run:

$ ./dev-shell
$ ./configure $configureFlags --prefix=/opt/hydra
$ make
$ make install

Or, if you just want to build from source (on x86_64-linux):

$ nix-build -A build.x86_64-linux release.nix