Commit Graph

3132 Commits

Author SHA1 Message Date
7351752066 fixed string comparison 2014-07-31 22:18:28 +02:00
5ebc2e5419 only checkout the target branch when topgit is used 2014-07-31 22:18:28 +02:00
55aaf807eb added clean command 2014-07-31 21:53:25 +02:00
ee840be313 forcing branch switch 2014-07-31 21:53:25 +02:00
6b88be040e Make restartBuilds faster 2014-07-18 00:03:26 +02:00
365de86ead Fix hydra-update-gc-roots 2014-07-16 23:20:58 +02:00
fb5f01097b Fix race between hydra-eval-jobs and hydra-update-gc-roots
If hydra-eval-jobs creates a new root, and hydra-update-gc-roots runs
before hydra-evaluator has had a chance to add the corresponding build
to the database, then hydra-update-gc-roots will remove the root. If
subsequently the Nix garbage collector kicks in, it may remove the
build's .drv file before the build is performed. Since evaluation of
the Nixpkgs and NixOS jobsets nowadays takes a lot of time (e.g. an
hour), the probability of this happening is fairly high.

The quick fix is not to delete roots that are less than a day old. So
long as evaluation doesn't take longer than a day, this should be fine
;-)

Fixes .
2014-07-14 13:18:07 +02:00
114f8a26ee Fix build for new nixUnstable 2014-06-16 12:24:17 -04:00
91f895b3d6 hydra-module.nix: Take lib from the module system, not from pkgs 2014-05-14 15:06:57 -04:00
268f273a3e Add value and dependency fields to eval json output. 2014-05-08 17:08:31 +02:00
da73eb5f8a Include dependency column in JSON output 2014-05-08 16:36:15 +02:00
1c92d760fa Merge pull request from thoughtpolice/coverity
hydra: add Coverity Scan plugin
2014-05-03 17:46:35 +02:00
14ccf84e46 Merge pull request from thoughtpolice/extraEnv
hydra-module: add config.extraEnv
2014-05-03 17:46:22 +02:00
4166974657 hydra: add Coverity Scan plugin
This adds a Hydra plugin for users to submit their open source projects
to the Coverity Scan system for analysis.

First, add a <coverityscan> section to your Hydra config, including the
access token, project name, and email, and a regex specifying jobs to
upload:

    <coverityscan>
      project = testrix
      jobs    = foobar:.*:coverity.*
      email   = aseipp@pobox.com
      token   = ${builtins.readFile ./coverity-token}
    </coverityscan>

This will upload the scan results for any job whose name matches
'coverity.*' in any jobset in the Hydra 'foobar' project, for the
Coverity Scan project named 'testrix'.

Note that one upload will occur per job matched by the regular
expression - so be careful with how many builds you upload.

The jobs which are matched by the jobs specification must have a file in
their output path of the form:

  $out/tarballs/...-cov-int.(xz|lzma|zip|bz2|tgz)

The file must have the 'cov-int' directory produced by `cov-build` in
the root.

(You can also output something into
$out/nix-support/hydra-build-products for the Hydra UI.)

This file will be found in the store, and uploaded to the service
directly using your access credentials. Note the exact extension: don't
use .tar.xz, only use .xz specifically.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-05-02 14:15:25 -05:00
1306291c6c Handle utf-8 properly
Fixes errors like:

  Caught exception in engine "Wide character in syswrite at /nix/store/498lwsrn5kkdh1q8kn3vcpd3457w6m7a-hydra-perl-deps/lib/perl5/site_perl/5.16.3/Starman/Server.pm line 547."

Note that these errors didn't happen if the database encoding was set
to SQL_ASCII (which was the case for hydra.nixos.org, explaining why
it didn't get these errors). However, now the encoding must be
UTF8. To change it, do:

  update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'hydra';
2014-05-01 16:33:25 +02:00
67c79a16a8 Remove unnecessary join against releases table
This gets rid of the warning:

  DBIx::Class::Storage::DBI::select_single(): Query returned more than one row.  SQL that returns multiple rows is DEPRECATED for ->find and ->single at /home/eelco/Dev/hydra/src/script/../lib/Hydra/Controller/Project.pm line 15
2014-05-01 13:03:34 +02:00
76a7cdc897 hydra-module: add config.extraEnv
This makes it easy to set environment variables for the Hydra server
(for example, your configuration.nix can use readFile to read an API
token to upload build results somewhere).

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-04-30 11:54:47 -05:00
6c6ce7a781 Fix cloning jobsets 2014-04-30 09:26:53 +02:00
d9475273c5 trunk -> master 2014-04-25 14:56:29 +02:00
a052bba1bb Fix test 2014-04-24 16:08:04 +02:00
4d9edd0ca8 Also redirect /job requests that refer to a renamed jobset 2014-04-24 11:05:16 +02:00
23416f9960 Do a permanent redirect 2014-04-24 10:52:46 +02:00
affec8881d Remove support for views
They're replaced by aggregates, which are declarative, faster, and
have a better interface.
2014-04-23 23:22:44 +02:00
5e0d10a392 When renaming a jobset, add a redirect from the old name 2014-04-23 23:15:22 +02:00
5a5f1e42e6 Merge pull request from aszlig/permissions-start-only
hydra-module: Use PermissionsStartOnly in init.
2014-04-15 21:50:26 +02:00
72d3504fbd hydra-module: Use PermissionsStartOnly in init.
Oops, forgot to add this in f75509099a.

This is necessary because we actually want to run the preStart script as
root (because it chmod/chowns stuff and also needs to create the
database using PostgreSQL's superuser) and the actual creation of the
database as user hydra.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-04-11 00:11:34 +02:00
b7816eacd5 Merge pull request from aszlig/module-without-su
hydra-module: Don't rely on su being available in shadow.
2014-04-10 20:30:42 +02:00
f75509099a hydra-module: Don't rely on su being available.
The su binary is now in a separate output of the shadow package and
isn't included in the main output path anymore.

But instead of changing the call to use pkgs.su, we're now entirely
dropping the dependency because systemd is already able to execute
processes under a specific user by itself.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-04-10 20:09:29 +02:00
be63c50560 Show whether a job still exists
In the dashboard and on the job page, indicate whether the job appears
in the latest jobset eval. That way, the user gets some indication if
a job has accidentally disappeared (e.g. due to an evaluation error).
2014-04-08 18:50:37 +02:00
4471cae07e hydra-eval-guile-jobs: Add "This file is part of Hydra". 2014-04-08 18:22:21 +02:00
cc46456598 hydra-eval-guile-jobs: Register derivations as GC roots.
* src/script/hydra-eval-guile-jobs.in (register-gc-root): New
  procedure.
  (job-evaluations->sxml): Add #:gc-roots-dir parameter.  Call
  'register-gc-root'.
  (job-evaluations->xml): Add #:gc-roots-dir parameter; pass it to
  'job-evaluations->sxml'.
  (eval-guile-jobs): Warn when --gc-roots-dir isn't passed.  Pass
  GC-ROOTS-DIR to 'job-evaluations->xml'.
2014-04-08 18:22:21 +02:00
e3e8c1bc74 hydra-eval-guile-jobs: Honor $NIX_STORE_DIR.
* src/script/hydra-eval-guile-jobs.in (strip-store-path): Honor
  $NIX_STORE_DIR.
2014-04-08 18:22:21 +02:00
4cf0d7c4b3 hydra-update-gc-roots: Keep derivations of failed builds
By keeping the derivations of failed builds in the most recent
evaluations, we ensure that failed builds can be restarted.
2014-04-08 17:54:11 +02:00
4aa01e021e Fix building against the latest Nix 2014-04-08 17:08:09 +02:00
d087aeb0d9 Fix adding jobset inputs 2014-03-06 08:22:59 -05:00
5fe09e9bf0 nix's libs live in $out/lib now, not $out/nix/lib 2014-03-06 07:56:50 -05:00
024a5e7d75 edit-jobset.tt: Retain old inputs with dashes in their name
Fixes 
2014-03-06 07:50:49 -05:00
2d8f2503c5 Build against latest Nix 2014-03-05 11:11:59 +01:00
ccdb6f2b23 Honor $NIX_STORE_DIR. 2014-02-28 14:09:12 +01:00
f409d2b4f6 Allow notify option to be set for hipchat notification. (https://www.hipchat.com/docs/api/method/rooms/message) 2014-02-28 09:27:33 +00:00
421950aede Use minutes in build history charts. 2014-02-28 09:16:45 +00:00
61448ca2bd guile: Raise default absolute timeout to from 2h to 20h. 2014-02-27 22:19:52 +01:00
b29d7b1091 Only email responsible authors when the build has changed 2014-02-26 11:05:46 -05:00
8dcef7702f Add jobset/job menus on buid log pages 2014-02-26 11:49:28 +01:00
66b8c1a9e0 Return 410 Gone (rather than 500) if an output is no longer available 2014-02-26 11:38:02 +01:00
6327edd63f Add a convenient way to get logs of a path/drv. Requested by phreedom. 2014-02-19 10:21:59 +00:00
73a0cb57c5 Jobset evals page: Don't show nrFailed if it's zero 2014-02-18 11:08:12 +01:00
78974abb69 Remove sqlite from the docs. Not (properly) supported. 2014-02-17 12:24:34 +01:00
d4d9896f9f Re-add the history tab (store size and build time), now as lazy-loaded tab on build page. 2014-01-28 11:55:19 +01:00
b3c1c57a5b Add postgresql 9.2 remark 2014-01-24 13:00:18 +01:00