2021-02-24 00:25:56 +01:00
|
|
|
Hacking
|
|
|
|
=======
|
|
|
|
|
|
|
|
This section provides some notes on how to hack on Hydra. To get the
|
|
|
|
latest version of Hydra from GitHub:
|
|
|
|
|
|
|
|
$ git clone git://github.com/NixOS/hydra.git
|
|
|
|
$ cd hydra
|
|
|
|
|
|
|
|
To build it and its dependencies:
|
|
|
|
|
|
|
|
$ nix-build release.nix -A build.x86_64-linux
|
|
|
|
|
|
|
|
To build all dependencies and start a shell in which all environment
|
|
|
|
variables (such as PERL5LIB) are set up so that those dependencies can
|
|
|
|
be found:
|
|
|
|
|
|
|
|
$ nix-shell
|
|
|
|
|
|
|
|
To build Hydra, you should then do:
|
|
|
|
|
|
|
|
[nix-shell]$ ./bootstrap
|
|
|
|
[nix-shell]$ configurePhase
|
|
|
|
[nix-shell]$ make
|
|
|
|
|
|
|
|
You can run the Hydra web server in your source tree as follows:
|
|
|
|
|
|
|
|
$ ./src/script/hydra-server
|
2021-03-05 00:01:49 -08:00
|
|
|
|
|
|
|
You can run Hydra's test suite with the following:
|
|
|
|
|
|
|
|
[nix-shell]$ make check
|
|
|
|
[nix-shell]$ # to run as many tests as you have cores:
|
|
|
|
[nix-shell]$ make check YATH_JOB_COUNT=$NIX_BUILD_CORES
|
|
|
|
[nix-shell]$ # or run yath directly:
|
|
|
|
[nix-shell]$ yath test
|
|
|
|
[nix-shell]$ # to run as many tests as you have cores:
|
|
|
|
[nix-shell]$ yath test -j $NIX_BUILD_CORES
|
|
|
|
|
|
|
|
When using `yath` instead of `make check`, ensure you have run `make`
|
|
|
|
in the root of the repository at least once.
|
|
|
|
|
|
|
|
**Warning**: Currently, the tests can fail
|
|
|
|
if run with high parallelism [due to an issue in
|
|
|
|
`Test::PostgreSQL`](https://github.com/TJC/Test-postgresql/issues/40)
|
|
|
|
causing database ports to collide.
|