fix development workflow after switching to meson-based build
This commit is contained in:
parent
b657bcdfb7
commit
ae18a7b3ae
27
README.md
27
README.md
@ -72,17 +72,16 @@ Make sure **State** at the top of the page is set to "_Enabled_" and click on "_
|
|||||||
You can build Hydra via `nix-build` using the provided [default.nix](./default.nix):
|
You can build Hydra via `nix-build` using the provided [default.nix](./default.nix):
|
||||||
|
|
||||||
```
|
```
|
||||||
$ nix-build
|
$ nix build
|
||||||
```
|
```
|
||||||
|
|
||||||
### Development Environment
|
### Development Environment
|
||||||
|
|
||||||
You can use the provided shell.nix to get a working development environment:
|
You can use the provided shell.nix to get a working development environment:
|
||||||
```
|
```
|
||||||
$ nix-shell
|
$ nix develop
|
||||||
$ autoreconfPhase
|
$ mesonConfigurePhase
|
||||||
$ configurePhase # NOTE: not ./configure
|
$ ninja
|
||||||
$ make
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Executing Hydra During Development
|
### Executing Hydra During Development
|
||||||
@ -91,9 +90,9 @@ When working on new features or bug fixes you need to be able to run Hydra from
|
|||||||
can be done using [foreman](https://github.com/ddollar/foreman):
|
can be done using [foreman](https://github.com/ddollar/foreman):
|
||||||
|
|
||||||
```
|
```
|
||||||
$ nix-shell
|
$ nix develop
|
||||||
$ # hack hack
|
$ # hack hack
|
||||||
$ make
|
$ ninja -C build
|
||||||
$ foreman start
|
$ foreman start
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -115,22 +114,24 @@ Start by following the steps in [Development Environment](#development-environme
|
|||||||
Then, you can run the tests and the perlcritic linter together with:
|
Then, you can run the tests and the perlcritic linter together with:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ nix-shell
|
$ nix develop
|
||||||
$ make check
|
$ ninja -C build test
|
||||||
```
|
```
|
||||||
|
|
||||||
You can run a single test with:
|
You can run a single test with:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ nix-shell
|
$ nix develop
|
||||||
$ yath test ./t/foo/bar.t
|
$ cd build
|
||||||
|
$ meson test --test-args=../t/Hydra/Event.t testsuite
|
||||||
```
|
```
|
||||||
|
|
||||||
And you can run just perlcritic with:
|
And you can run just perlcritic with:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ nix-shell
|
$ nix develop
|
||||||
$ make perlcritic
|
$ cd build
|
||||||
|
$ meson test perlcritic
|
||||||
```
|
```
|
||||||
|
|
||||||
### JSON API
|
### JSON API
|
||||||
|
@ -11,12 +11,6 @@ $ cd hydra
|
|||||||
To enter a shell in which all environment variables (such as `PERL5LIB`)
|
To enter a shell in which all environment variables (such as `PERL5LIB`)
|
||||||
and dependencies can be found:
|
and dependencies can be found:
|
||||||
|
|
||||||
```console
|
|
||||||
$ nix-shell
|
|
||||||
```
|
|
||||||
|
|
||||||
of when flakes are enabled:
|
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ nix develop
|
$ nix develop
|
||||||
```
|
```
|
||||||
@ -24,15 +18,15 @@ $ nix develop
|
|||||||
To build Hydra, you should then do:
|
To build Hydra, you should then do:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
[nix-shell]$ autoreconfPhase
|
$ mesonConfigurePhase
|
||||||
[nix-shell]$ configurePhase
|
$ ninja
|
||||||
[nix-shell]$ make -j$(nproc)
|
|
||||||
```
|
```
|
||||||
|
|
||||||
You start a local database, the webserver, and other components with
|
You start a local database, the webserver, and other components with
|
||||||
foreman:
|
foreman:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
|
$ ninja -C build
|
||||||
$ foreman start
|
$ foreman start
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -47,18 +41,11 @@ $ ./src/script/hydra-server
|
|||||||
You can run Hydra's test suite with the following:
|
You can run Hydra's test suite with the following:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
[nix-shell]$ make check
|
$ meson test
|
||||||
[nix-shell]$ # to run as many tests as you have cores:
|
# to run as many tests as you have cores:
|
||||||
[nix-shell]$ make check YATH_JOB_COUNT=$NIX_BUILD_CORES
|
$ YATH_JOB_COUNT=$NIX_BUILD_CORES meson test
|
||||||
[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
|
**Warning**: Currently, the tests can fail
|
||||||
if run with high parallelism [due to an issue in
|
if run with high parallelism [due to an issue in
|
||||||
`Test::PostgreSQL`](https://github.com/TJC/Test-postgresql/issues/40)
|
`Test::PostgreSQL`](https://github.com/TJC/Test-postgresql/issues/40)
|
||||||
@ -75,7 +62,7 @@ will reload the page every time you save.
|
|||||||
To build Hydra and its dependencies:
|
To build Hydra and its dependencies:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ nix-build release.nix -A build.x86_64-linux
|
$ nix build .#packages.x86_64-linux.default
|
||||||
```
|
```
|
||||||
|
|
||||||
## Development Tasks
|
## Development Tasks
|
||||||
|
@ -241,7 +241,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
shellHook = ''
|
shellHook = ''
|
||||||
pushd $(git rev-parse --show-toplevel) >/dev/null
|
pushd $(git rev-parse --show-toplevel) >/dev/null
|
||||||
|
|
||||||
PATH=$(pwd)/src/hydra-evaluator:$(pwd)/src/script:$(pwd)/src/hydra-queue-runner:$PATH
|
PATH=$(pwd)/build/src/hydra-evaluator:$(pwd)/build/src/script:$(pwd)/build/src/hydra-queue-runner:$PATH
|
||||||
PERL5LIB=$(pwd)/src/lib:$PERL5LIB
|
PERL5LIB=$(pwd)/src/lib:$PERL5LIB
|
||||||
export HYDRA_HOME="$(pwd)/src/"
|
export HYDRA_HOME="$(pwd)/src/"
|
||||||
mkdir -p .hydra-data
|
mkdir -p .hydra-data
|
||||||
|
Loading…
x
Reference in New Issue
Block a user