0721f6623f
Merge pull request #627 from samueldr/hydra-eval-jobs/warn-max-heap-size
...
hydra-eval-jobs: Warn and resets maxHeapSize on bad values
2019-03-17 19:36:53 -04:00
baf828a560
Merge pull request #624 from kquick/job_headers
...
Add job status headers (web useability for red/green colorblindness).
2019-03-17 17:24:38 -04:00
88a92256e1
Merge pull request #636 from Ma27/serve-json-for-evals-and-machines
...
Serialize data as JSON with `Accept: application/json`
2019-03-17 17:17:17 -04:00
21a4433fec
Merge branch 'master' into job_headers
2019-03-17 17:16:37 -04:00
c8fa7ffc12
Merge pull request #629 from Ma27/fix-maintainer-notifications
...
hydra-eval-jobs: fix maintainer resolution
2019-03-17 17:12:55 -04:00
014e5aa10d
Merge pull request #628 from dasJ/patch-1
...
Support $X-Request-Base for the Logo
2019-03-17 16:22:53 -04:00
1cbbc6c52c
Serialize data as JSON with Accept: application/json
...
Similar to #607 . According to the Catalyst[1] docs it's possible to
specify a data structure that is supposed to be serialized when
requesting i.e. a JSON response.
[1] https://metacpan.org/pod/Catalyst::Controller::REST#status_ok
2019-02-14 01:22:48 +01:00
5dd4736aed
Merge pull request #632 from nlewo/localhost-error-message
...
hydra-queue-runner: better error message if nix-store can not be started
2019-01-23 10:46:30 +01:00
9a73ec6455
hydra-queue-runner: better error message if nix-store can not be started
...
The hydra-queue-runner opens a connection to the builder. If the
builder is 'localhost' it starts `nix-store`, otherwise it starts
'ssh'.
Currently, if the hydra-queue-runner can not start `nix-store` (not in
the PATH for instance), the error message is:
cannot connect to ‘localhost’: error: cannot start ssh: No such file
or directory
This is not useful since ssh is actually not started:/
With this patch the error message is now:
cannot connect to ‘localhost’: error: cannot start nix-store: No such file
or directory
2019-01-23 10:42:47 +01:00
f5686e0958
Merge pull request #633 from samueldr/feature/dev-server
...
Add hydra-dev-server which uses the classic Catalyst server
2019-01-23 10:39:47 +01:00
04ff9e217b
Add hydra-dev-server which uses the classic Catalyst server
...
This, in turns allows
- Using --restart for reloading the perl code
- Printing traces on error
2019-01-22 20:34:21 -05:00
a16d0c7d6b
Makes user-facing dates local when possible
...
Also ensures it makes available the hydra timezone in the title of the
dates.
2019-01-22 17:53:46 -05:00
2430b12ec9
Adds moment.js for client-side date manipulations
2019-01-21 19:57:22 -05:00
e0d8dcfe2d
Merge pull request #619 from samueldr/feature/lazy_errors
...
Adds error messages to lazy tabs
2019-01-20 23:22:17 +01:00
b298ba4bbe
Merge branch 'pr-gitlabpulls' of git://github.com/nlewo/hydra
2019-01-11 10:08:23 -05:00
aa87e7a52e
hydra-eval-jobs: fix maintainer resolution
...
Some time ago the data structure for maintainer descriptions in
`nixpkgs` changed from a simple attr set with maintainer emails as
values to an attribute set where the maintainer' nick is associated to
an attribute set with email, GitHub handle and full name.
Hydra can either parse a Nix list or fetches `shortName` from the
associated attribute set (which is used for `meta.licenses` as each
value in it contains a `shortName`). This behavior needs to be
replicated for maintainers to retrieve the emails for `hydra-notify`.
This change is backwards-compatible since `queryMetaStrings` is still
able to understand lists, so old versions of `nixpkgs` or packages using
the old maintainer data structure remain usable.
2018-12-29 14:47:03 +01:00
3a70688985
Support $X-Request-Base for the Logo
2018-12-27 17:08:20 +01:00
dd188d3035
hydra-eval-jobs: Warn and resets maxHeapSize on bad values
...
This is because setting only the initial heap size to more than
the default value (or the configured value) will cause all initial evals
until maxHeapSize expands to the given value to abort.
The 1.1 multiplier comes from the the configured defaults on NixOS' hydra,
and from the previous multiplier used before
7876cf677c
.
2018-12-21 22:57:07 -05:00
423c0440ea
Typo
2018-12-20 12:07:02 +01:00
8315e20ab5
Lighten delta mark to blend better with other column headers.
2018-12-16 22:34:22 -08:00
dfce2ad69a
Use rowspans to align Jobs reference in evaluations rendering
2018-12-16 22:26:44 -08:00
0e7593a4a1
Remove blank lines, consistent attribute quoting, use svg for delta header, column sizes.
2018-12-15 22:25:02 -08:00
5716e69767
Add job status headers (web useability for red/green colorblindness).
2018-12-15 11:58:26 -08:00
ed85daf2ac
User: jobs tab returns its error as a lazy error.
2018-12-01 13:40:41 -05:00
9986053e73
Controllers: allows lazy tabs to return custom errors.
2018-12-01 13:40:41 -05:00
d9253543e4
plugin/GitLabPulls: support for using a personal access token (PAT)
...
In order to access protected or private repositories. Using the target
repository URL along with the merge-request ref instead of the source
repository url and branch is necessary to avoid running into issues if
the source repository is not actually accessible to the user Hydra is
authenticating as.
Thanks Alexei Robyn for this patch.
2018-11-20 16:27:40 +01:00
14d5577bf8
Add duration to Slack notification.
2018-11-20 14:57:50 +01:00
cd234f6a14
Merge pull request #529 from bennofs/feat-all-builds
...
feat: add /eval/<id>/builds endpoint
2018-11-19 17:36:19 +01:00
7916c6b185
[DEVOPS-1126] throttle github status calls to remain under api ratelimits
2018-11-09 12:06:37 -04:00
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