Antoine Eiche
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
Eelco Dolstra
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
Eelco Dolstra
804c29703f
Merge pull request #631 from samueldr/feature/dates
...
Enhances user-facing dates
2019-01-23 10:36:40 +01:00
Samuel Dionne-Riel
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
Samuel Dionne-Riel
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
Samuel Dionne-Riel
2430b12ec9
Adds moment.js for client-side date manipulations
2019-01-21 19:57:22 -05:00
Eelco Dolstra
e0d8dcfe2d
Merge pull request #619 from samueldr/feature/lazy_errors
...
Adds error messages to lazy tabs
2019-01-20 23:22:17 +01:00
Shea Levy
b298ba4bbe
Merge branch 'pr-gitlabpulls' of git://github.com/nlewo/hydra
2019-01-11 10:08:23 -05:00
Maximilian Bosch
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
Janne Heß
3a70688985
Support $X-Request-Base for the Logo
2018-12-27 17:08:20 +01:00
Samuel Dionne-Riel
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
Eelco Dolstra
423c0440ea
Typo
2018-12-20 12:07:02 +01:00
Kevin Quick
8315e20ab5
Lighten delta mark to blend better with other column headers.
2018-12-16 22:34:22 -08:00
Kevin Quick
dfce2ad69a
Use rowspans to align Jobs reference in evaluations rendering
2018-12-16 22:26:44 -08:00
Kevin Quick
0e7593a4a1
Remove blank lines, consistent attribute quoting, use svg for delta header, column sizes.
2018-12-15 22:25:02 -08:00
Kevin Quick
5716e69767
Add job status headers (web useability for red/green colorblindness).
2018-12-15 11:58:26 -08:00
Samuel Dionne-Riel
51ce620681
Stops the pager from blocking at configurePhase ( #618 )
...
This is caused by the autoconf check for `nix-store` which is equivalent
to running this:
```
$ nix-store --timeout 123 -q
```
This would open the pager on a 2.1.1 version of nix.
```
$ nix-store --version
nix-store (Nix) 2.1.1
```
Setting `PAGER` to `cat` ensures the pager doesn't block the
configurePhase.
```
$ PAGER=cat nix-store --timeout 123 -q
```
2018-12-01 22:01:40 +00:00
Samuel Dionne-Riel
ed85daf2ac
User: jobs tab returns its error as a lazy error.
2018-12-01 13:40:41 -05:00
Samuel Dionne-Riel
9986053e73
Controllers: allows lazy tabs to return custom errors.
2018-12-01 13:40:41 -05:00
Antoine Eiche
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
Rob Vermaas
14d5577bf8
Add duration to Slack notification.
2018-11-20 14:57:50 +01:00
Eelco Dolstra
cd234f6a14
Merge pull request #529 from bennofs/feat-all-builds
...
feat: add /eval/<id>/builds endpoint
2018-11-19 17:36:19 +01:00
Eelco Dolstra
f9870b5fce
Merge pull request #612 from input-output-hk/devops-1126
...
[DEVOPS-1126] throttle github status calls to remain under api ratelimits
2018-11-12 10:09:38 +01:00
Michael Bishop
7916c6b185
[DEVOPS-1126] throttle github status calls to remain under api ratelimits
2018-11-09 12:06:37 -04:00
Eelco Dolstra
1c44de1779
Merge pull request #567 from phile314/bitbucket_pulls
...
Add BitBucket pull request support
2018-11-06 10:48:37 +01:00
Antoine Eiche
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
Antoine Eiche
dd1e4a92c0
api-test: make created project and jobset visible
2018-10-31 18:51:02 +01:00
Rob Vermaas
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
Michael Bishop
3ef253c65f
also add CatalystXRoleApplicator
...
f7fe61207b
2018-10-30 15:11:01 +01:00
Michael Bishop
6d693b6b2a
fix hydra build on nixpkgs master
...
copied from c501958535
2018-10-30 14:50:22 +01:00
Eelco Dolstra
8d26144121
Fix building against nix master
2018-10-30 14:41:21 +01:00
Antoine Eiche
68aad22d19
Add GitlabPulls input plugin
2018-10-15 14:45:26 +02:00
Andreas Rammhold
63a294d4ca
allow users with 'restart-jobs' role to restart individual builds
2018-10-04 21:59:42 +02:00
Eelco Dolstra
e0f204f3da
Merge pull request #599 from tomberek/19.03_fixes
...
submodule fix
2018-10-03 09:20:02 +02:00
Tom Bereknyei
8bffbb7928
evalSettings deprecated, submodule fix
2018-10-03 00:45:42 -04:00
Eelco Dolstra
0bc548ee2d
Merge pull request #595 from kquick/darcs_cache_dir
...
Fix darcs input to use darcs-specific SCM cache dir.
2018-09-10 10:51:08 +02:00
Kevin Quick
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
Eelco Dolstra
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
Eelco Dolstra
b15288bea4
Merge pull request #590 from Taneb/one-runcommand
...
Allow for precisely one instance of RunCommand plugin
2018-08-21 17:00:23 +02:00
Nathan van Doorn
a77954be4d
Allow for precisely one instance of RunCommand plugin
2018-08-21 15:52:41 +01:00
Eelco Dolstra
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
Eelco Dolstra
7876cf677c
Increase maxHeapSize more gradually
2018-08-10 19:23:31 +02:00
Eelco Dolstra
4dca8fe14d
Gradually increase maxHeapSize
2018-08-07 11:47:53 +02:00
Eelco Dolstra
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
Eelco Dolstra
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
Eelco Dolstra
8e17a413f5
hydra-notify step-finished: Don't barf if the step has no log file
2018-08-01 17:17:46 +02:00
Eelco Dolstra
dca6c5a983
hydra-eval-jobs: Filter ANSI escape sequences
2018-08-01 17:06:32 +02:00
Eelco Dolstra
1898e31ed8
hydra-eval-jobset: Respect email_notification
2018-08-01 16:56:53 +02:00
Eelco Dolstra
a71e6301d2
Fix Hydra VM tests
2018-07-31 21:49:05 +02:00
Eelco Dolstra
1a899890ac
Use nixUnstable
2018-07-31 21:19:10 +02:00