hydra/doc/manual/src/hacking.md

52 lines
1.4 KiB
Markdown
Raw Normal View History

2021-04-05 15:30:41 +00: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
2021-04-05 15:30:41 +00:00
To enter 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
2021-04-05 15:30:41 +00:00
You start a local database, the webserver, and other components with
foreman:
$ foreman start
You can run just the Hydra web server in your source tree as follows:
$ ./src/script/hydra-server
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.
2021-04-05 15:30:41 +00:00
## Building
To build Hydra and its dependencies:
$ nix-build release.nix -A build.x86_64-linux