1c44de1779
Merge pull request #567 from phile314/bitbucket_pulls
...
Add BitBucket pull request support
2018-11-06 10:48:37 +01:00
0d2a2d8923
Add json output for the search API endpoint
...
This commit also add a test of this feature.
Note the search JSON output doesn't contain any jobs because they can
not be exported to JSON yet.
The JSON output on a search query matching a build looks like:
```
{
"builds": [
{
"buildoutputs": {
"out": {
"path": "/nix/store/wdag3pznrvqk01byk989irg7rq3q2a2c-job"
}
},
"finished": 0,
"releasename": null,
"starttime": null,
"project": "sample",
"buildproducts": {},
"timestamp": 1541007629,
"buildstatus": null,
"nixname": "job",
"drvpath": "/nix/store/n9zqndn7j7nyr6gg3bmxvw26cfmdwv2n-job.drv",
"job": "job",
"id": 1,
"stoptime": null,
"priority": 100,
"system": "x86_64-linux",
"jobsetevals": [
1
],
"jobset": "default",
"buildmetrics": {}
}
],
"projects": [],
"jobsets": [],
"buildsdrv": []
}
```
2018-11-01 09:31:15 +01:00
adf59a3959
Merge pull request #604 from andir/single-build-restart
...
allow users with 'restart-jobs' role to restart individual builds
2018-10-31 12:26:35 +01:00
8d26144121
Fix building against nix master
2018-10-30 14:41:21 +01:00
68aad22d19
Add GitlabPulls input plugin
2018-10-15 14:45:26 +02:00
63a294d4ca
allow users with 'restart-jobs' role to restart individual builds
2018-10-04 21:59:42 +02:00
8bffbb7928
evalSettings deprecated, submodule fix
2018-10-03 00:45:42 -04:00
d9515b208c
Update prompt for Local path input to indicate a URL is also valid.
...
The PathInput input for local paths was previously enhanced to allow
URLs for which it would use a nix-prefetch-url operation. This change
updates the prompt for the declarative input type to indicate this
capability.
2018-09-09 22:08:06 -07:00
35bcab74ed
Fix darcs input to use darcs-specific SCM cache dir.
...
Currently re-using the git cache dir which could cause overlap problems.
2018-09-09 22:04:32 -07:00
b7c42a38a3
Merge pull request #575 from Ma27/fix-tab-jobset-view
...
jobset view: jump back to the proper tab when displaying all failed jobsets
2018-09-06 21:11:59 +02:00
a77954be4d
Allow for precisely one instance of RunCommand plugin
2018-08-21 15:52:41 +01:00
b542b73ced
hydra-eval-jobs: Reinitialize Boehm GC in the child
...
This is necessary to prevent hangs in the garbage collector.
2018-08-10 20:25:43 +02:00
7876cf677c
Increase maxHeapSize more gradually
2018-08-10 19:23:31 +02:00
4dca8fe14d
Gradually increase maxHeapSize
2018-08-07 11:47:53 +02:00
e122d3bef3
RunCommand: Return metrics as a float
...
Apparently, DBIx::Class doesn't handle columns with type 'double
precision' properly.
2018-08-02 12:31:28 +02:00
6db2cbf094
Add a plugin to execute arbitrary commands when a build finishes
...
The plugin can be configured using one or more <runcommand> sections
in hydra.conf, e.g.
<runcommand>
command = echo Build finished
</runcommand>
Optionally, the command can be executed for specific
projects/jobsets/jobs:
job = patchelf:master:tarball
or
job = patchelf:*:*
The default is *:*:*.
The command is executed with the environment variable $HYDRA_JSON
pointing to a JSON file containing info about the build, e.g.
{
"build": 3772978,
"buildStatus": 0,
"drvPath": "/nix/store/9y4h1fyx9pl3ic08i2f09239b90x1lww-patchelf-tarball-0.8pre894_ed92f9f.drv",
"event": "buildFinished",
"finished": 1,
"job": "tarball",
"jobset": "master",
"metrics": [
{
"name": "random1",
"unit": null,
"value": "20282"
},
{
"name": "random2",
"unit": "KiB",
"value": "6664"
}
],
"outputs": [
{
"name": "out",
"path": "/nix/store/39h5xciz5pnh1aypmr3rpdx0536y5s2w-patchelf-tarball-0.8pre894_ed92f9f"
}
],
"products": [
{
"defaultPath": "",
"fileSize": 148216,
"name": "patchelf-0.8pre894_ed92f9f.tar.gz",
"path": "/nix/store/39h5xciz5pnh1aypmr3rpdx0536y5s2w-patchelf-tarball-0.8pre894_ed92f9f/tarballs/patchelf-0.8pre894_ed92f9f.tar.gz",
"productNr": 4,
"sha1hash": "9f27d18382436a7f743f6c2f6ad66e1b536ab4c8",
"sha256hash": "b04faef2916c411f10711b58ea26965df7cb860ca33a87f1e868051b874c44b3",
"subtype": "source-dist",
"type": "file"
},
{
"defaultPath": "",
"fileSize": 121279,
"name": "patchelf-0.8pre894_ed92f9f.tar.bz2",
"path": "/nix/store/39h5xciz5pnh1aypmr3rpdx0536y5s2w-patchelf-tarball-0.8pre894_ed92f9f/tarballs/patchelf-0.8pre894_ed92f9f.tar.bz2",
"productNr": 3,
"sha1hash": "7a664841fb779dec19023be6a6121e0398067b7c",
"sha256hash": "c81e36099893f541a11480f869fcdebd2fad3309900519065c8745f614dd024a",
"subtype": "source-dist",
"type": "file"
},
{
"defaultPath": "README",
"fileSize": null,
"name": "",
"path": "/nix/store/39h5xciz5pnh1aypmr3rpdx0536y5s2w-patchelf-tarball-0.8pre894_ed92f9f",
"productNr": 2,
"sha1hash": null,
"sha256hash": null,
"subtype": "readme",
"type": "doc"
},
{
"defaultPath": "",
"fileSize": 6230,
"name": "README",
"path": "/nix/store/39h5xciz5pnh1aypmr3rpdx0536y5s2w-patchelf-tarball-0.8pre894_ed92f9f/README",
"productNr": 1,
"sha1hash": "dc6bb09093183ab52d7e6a35b72d179869bd6fbf",
"sha256hash": "5371aee9de0216b3ea2d5ea869da9d5ee441b99156a99055e7e11e7a705f7920",
"subtype": "readme",
"type": "doc"
}
],
"project": "patchelf",
"startTime": 1533137091,
"stopTime": 1533137094,
"timestamp": 1533136076
}
So for example, the following command:
command = echo Build $(jq -r .build $HYDRA_JSON) \($(jq -r .project $HYDRA_JSON):$(jq -r .jobset $HYDRA_JSON):$(jq -r .job $HYDRA_JSON)\) finished, metrics: $(jq -r '.metrics[].value' $HYDRA_JSON).
will print
Build 3772978 (patchelf:master:tarball) finished, metrics: 20282 6664.
2018-08-01 19:43:50 +02:00
8e17a413f5
hydra-notify step-finished: Don't barf if the step has no log file
2018-08-01 17:17:46 +02:00
dca6c5a983
hydra-eval-jobs: Filter ANSI escape sequences
2018-08-01 17:06:32 +02:00
1898e31ed8
hydra-eval-jobset: Respect email_notification
2018-08-01 16:56:53 +02:00
162d671c48
Revert "Fix broken build.x86_64-linux job ( #573 )"
...
This reverts commit c2e2b42877
, which
breaks building with nixUnstable.
2018-07-31 10:23:41 +02:00
37d35ac51e
jobset view: jump back to the proper tab when displaying all failed jobsets
...
When I press "n builds omitted" I get back to the first tab of a jobset.
This is extremely counter-intuitive, instead this notice should link to
the currently opened tab.
2018-07-15 17:52:14 +02:00
c2e2b42877
Fix broken build.x86_64-linux job ( #573 )
...
The job has been failing since https://hydra.nixos.org/eval/1461286
with the following error:
hydra-eval-jobs.cc:278:17: error: 'evalSettings' was not declared in this scope
evalSettings.restrictEval = true;
^~~~~~~~~~~~
This is likely due to a typo in 0882519
where that line and the
corresponding comment were moved, and `settings` was changed in that
one place to `evalSettings`.
I reproduced the error by running `nix-build release.nix -A
build.x86_64-linux` on my machine, and this small change fixes it.
2018-07-07 19:15:01 +01:00
e523e8a643
Additional helpful information in error messages.
2018-06-29 17:41:23 -07:00
f738f6feb3
Add BitBucket pull request support
2018-06-22 11:22:54 +02:00
879333fd3c
Make /api/push-github public for private Hydra instances. This makes it possible to use webhooks to trigger evaluations for private Hydra instances.
2018-06-14 17:23:01 +02:00
298e99449b
add metrics for hydra notifications.
2018-06-12 13:00:39 +01:00
99e6c19672
add some more statistics about runnable/running builds per arch/system
...
features.
2018-06-12 13:00:00 +01:00
0882519b10
hydra-eval-jobs: Ugly hackery to reduce memory usage
...
You can now set 'evaluator_max_heap_size' to make hydra-eval-jobs
restart itself if the Boehm heap exceeds the specified size.
For example, with 'evaluator_max_heap_size = 256000000',
$ hydra-eval-jobs '<nixpkgs/pkgs/top-level/release.nix>' -I nixpkgs=channel:nixos-17.09
has a max RSS of .56 GiB rather than 4.7 GiB.
Unfortunately it doesn't help much for the NixOS jobsets because of
the "tested" job which requires a huge amount of memory all by itself.
2018-06-05 13:24:23 +02:00
39eca8bef1
Fix build against Nix master
2018-06-05 13:24:23 +02:00
70eb67fe5b
Allow channels to be usefully imported by other nix expressions.
2018-05-25 11:22:20 -04:00
d27732bdf0
Remove "bashism"
...
Replace `bash <(...)` with `... | bash`
See also: NixOS/nixpkgs#40521
2018-05-16 23:56:40 +02:00
09a4c9fad2
hydra-evaluator: Allow setting the maximum number of concurrent evaluations
2018-05-16 14:22:00 +02:00
4e27796eba
Allow setting GC_INITIAL_HEAP_SIZE for hydra-eval-jobs
...
This cannot be done in the hydra-evaluator systemd unit, since then
every other Nix process (e.g. hydra-evaluator and nix-prefetch-*) will
also allocate the specified heap size, probably leading to OOM.
2018-05-16 14:14:53 +02:00
215b724e44
Fix passing arguments to the reproduction script
2018-05-10 15:11:08 +02:00
4015bca225
fix a stray newline in a path
2018-03-16 13:04:48 -03:00
85524b2d0f
Disable jobset deletion
...
This is a good way to make Hydra hang. (E.g. we had a deletion of
nixos:gcc-7 running for > 12 hours and blocking UPDATE statements from
hydra-queue-runner.) Generally it's better to just disable/hide an old
jobset anyway.
2018-03-13 14:05:55 +01:00
02888105a8
Add a hydra.conf option to enable email notification
...
Note that it's disabled by default.
2018-03-12 14:04:23 +01:00
c0fac52872
Add some debug code
2018-03-07 10:23:43 +01:00
5a1f2a50e5
Handle derivations with system type 'builtin'
...
Fixes #540 .
2018-03-07 10:22:35 +01:00
68afa2bf6f
Dump more system info in /queue-runner-status
2018-03-07 10:06:56 +01:00
3cf2ffe367
[ Fix #531 ] Trim github pr plugin store paths.
...
nix-store --add returns a trailing LF which caused wrong include
paths for the github PR plugin JSON input.
2018-02-12 17:59:56 +01:00
aeca462de0
Typo: on the build view page: Yu -> You
2018-02-08 12:37:21 -05:00
fd463ff403
Remove nix-install-package support
...
'nix-install-package' no longer exists in Nix 1.12.
Closes #268 .
2018-01-15 14:27:58 +01:00
3ab5d299c1
feat: add /eval/<id>/builds endpoint
...
This endpoint allows efficient retrieval of all the builds in an
evaluation, without making a request for each single build.
2018-01-14 01:29:37 +01:00
83a48d2d4f
Add a restart-jobs role
...
Frequently users want Hydra access just to restart jobs. However,
prior to this commit the only way to grant that access was by giving
them full Admin access which isn't necessarily what we want to do.
By having a restart-jobs role, we can grant this privilege to users
who are known to the community and want to help, but aren't long-time
members.
I haven't tested this commit, but it looks good to me...
2017-12-30 08:28:23 -05:00
8913c682cf
Doh
2017-12-25 15:02:17 +01:00
0d79f16fd5
git-export -> source
2017-12-25 14:31:30 +01:00
7ccec0900b
Fix links to steps in the machines page
2017-12-07 16:20:23 +01:00
e9670641ec
Distinguish build step states
...
The web interface now shows whether a build step is connecting,
copying inputs/outputs, building, etc.
2017-12-07 15:35:31 +01:00
457483ba0e
Don't lock the BuildSteps table when inserting
...
Instead, optimistically insert a row and retry if there is a conflict.
2017-12-07 14:41:29 +01:00