Start checking PRs with perlcritic
This commit is contained in:
parent
098e48d055
commit
241985fb2d
4
.perlcriticrc
Normal file
4
.perlcriticrc
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
theme = community
|
||||||
|
|
||||||
|
# 5 is the least complainy, 1 is the most complainy
|
||||||
|
severity = 5
|
24
README.md
24
README.md
|
@ -106,17 +106,33 @@ conflicts with services that might be running on your host, hydra and postgress
|
||||||
Note that this is only ever meant as an ad-hoc way of executing Hydra during development. Please make use of the
|
Note that this is only ever meant as an ad-hoc way of executing Hydra during development. Please make use of the
|
||||||
NixOS module for actually running Hydra in production.
|
NixOS module for actually running Hydra in production.
|
||||||
|
|
||||||
### Running Tests
|
### Checking your patches
|
||||||
|
|
||||||
After making your changes, verify the test suite still passes. After following the steps in [Development Environment](#development-environment), run:
|
After making your changes, verify the test suite passes and perlcritic is still happy.
|
||||||
|
|
||||||
|
Start by following the steps in [Development Environment](#development-environment).
|
||||||
|
|
||||||
|
Then, you can run the tests and the perlcritic linter together with:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ nix-shell
|
||||||
|
$ make check
|
||||||
|
```
|
||||||
|
|
||||||
|
You can run a single test with:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ nix-shell
|
$ nix-shell
|
||||||
$ make check
|
|
||||||
$ # Or, to run a single test, use:
|
|
||||||
$ yath test ./t/foo/bar.t
|
$ yath test ./t/foo/bar.t
|
||||||
```
|
```
|
||||||
|
|
||||||
|
And you can run just perlcritic with:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ nix-shell
|
||||||
|
$ make perlcritic
|
||||||
|
```
|
||||||
|
|
||||||
### JSON API
|
### JSON API
|
||||||
|
|
||||||
You can also interface with Hydra through a JSON API. The API is defined in [hydra-api.yaml](./hydra-api.yaml) and you can test and explore via the [swagger editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/NixOS/hydra/master/hydra-api.yaml)
|
You can also interface with Hydra through a JSON API. The API is defined in [hydra-api.yaml](./hydra-api.yaml) and you can test and explore via the [swagger editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/NixOS/hydra/master/hydra-api.yaml)
|
||||||
|
|
|
@ -23,6 +23,7 @@ EXTRA_DIST = \
|
||||||
$(TESTS)
|
$(TESTS)
|
||||||
|
|
||||||
TESTS = \
|
TESTS = \
|
||||||
|
perlcritic.pl \
|
||||||
test.pl
|
test.pl
|
||||||
|
|
||||||
check_SCRIPTS = repos
|
check_SCRIPTS = repos
|
||||||
|
|
13
t/perlcritic.pl
Executable file
13
t/perlcritic.pl
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Cwd 'abs_path';
|
||||||
|
use File::Basename;
|
||||||
|
|
||||||
|
my $dirname = abs_path(dirname(__FILE__) . "/..");
|
||||||
|
|
||||||
|
print STDERR "Executing perlcritic against $dirname\n";
|
||||||
|
chdir($dirname) or die "Failed to enter $dirname\n";
|
||||||
|
|
||||||
|
exec("perlcritic", ".") or die "Failed to execute perlcritic.";
|
Loading…
Reference in a new issue