Commit Graph

2484 Commits

Author SHA1 Message Date
d30b49ebac Forgot to commit 2013-08-14 03:50:07 +02:00
d58142b3f0 Store aggregate members in the database
For presentation purposes, we need to know what builds are part of an
aggregate build.  So at evaluation time, look at the "members"
attribute, find the corresponding builds in the eval, and create a
mapping in the AggregateMembers table.
2013-08-14 01:59:29 +02:00
c27f4bbaf5 Add a redirect from an eval to a named member
E.g. /eval/798867/job/tarball redirects to the build with job name
"tarball".
2013-08-13 01:56:45 +02:00
a25ea193f7 Add a /eval action to /build to go from a build to the latest finished eval 2013-08-13 01:43:50 +02:00
fcdca0d4de Fix some XML wellformedness issues 2013-08-13 00:41:37 +02:00
4792256e43 Add some more fields to the JSON output of /build 2013-08-12 22:57:53 +02:00
bef263c930 Add a ‘latest-finished’ action
It redirects to the latest successful build from a finished
evaluation.  This is mostly useful for the Nixpkgs/NixOS mirroring
script, which need the latest finished evaluation in which some
aggregate job (such as ‘tested’ in NixOS) succeeded.
2013-08-12 22:17:04 +02:00
84acccb3ea Index builds on stop time
This is necessary to make the /all page fast, since it sorts builds on
descending stop time.
2013-08-12 20:19:10 +02:00
452c8e36d1 Materialize the number of finished builds
The NrBuilds table tracks the value of ‘select count(*) from Builds
where finished = 0’, keeping it up to date via a trigger.  This is
necessary to make the /all page fast, since otherwise it needs to do a
sequential scan on the Builds table.
2013-08-12 20:19:10 +02:00
182f725612 Don't pass an undefined input 2013-08-12 18:15:11 +02:00
d96df42c03 GitInput.pm: Don't do a chdir to the Git clone
Doing a chdir in the parent is evil.  For instance, we had Hydra core
dumps ending up in the cloned directory.  Therefore, the function
‘run’ allows doing a chdir in the child.  The function ‘grab’ returns
the child's stdout and throws an exception if the child fails.
2013-08-12 17:46:26 +02:00
1481badf21 For nix-shell, set some more variables in preHook 2013-08-12 17:23:33 +02:00
90eedcf256 HipChat notification: add support for Mercurial inputs for determining who might have broken the build. 2013-08-07 08:53:32 +00:00
96e987bbfa Use inputTypes from plugins to determine valid input types
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-29 17:42:49 -04:00
687ca429c3 Pass project and jobset to fetchInput
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-29 15:33:22 -04:00
5efe8365ef Whoops
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 12:16:46 -04:00
30e3d57482 Install hydra-module.nix into $out/share/nix
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 11:24:31 -04:00
0c0cf4113e Add an option to run the hydra server in debug mode
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 11:11:09 -04:00
10cad61231 Don't put ssmtp in hydra's paths
Some installations may want to use system-wide sendmail (i.e.
/run/setuid-wrappers/sendmail) and those that want ssmtp can add it to
hydra's path themselves.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 11:06:02 -04:00
0bb568912b hydra-module.nix: Automatically create postgres db user for hydra and an admin hydra account
The initial password for the admin account can be found in /var/lib/hydra/.pgpass.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 11:05:03 -04:00
f231c23b75 Only serialize JSON and HTML, not the C::C::REST defaults
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-26 14:25:25 -04:00
eab13d8736 ToJSON is automatically called recursively
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-26 13:54:07 -04:00
d6b23272e3 Don't try to serialize if there's nothing to serialize
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-26 12:04:27 -04:00
f7bcf9fc19 The field is actually enabled, not disabled
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-25 17:59:13 -04:00
1404d33005 Show when a Project's jobsets are disabled
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-25 17:48:28 -04:00
513c030268 Do not use local clone for Bazaar inputs. 2013-07-22 20:42:17 +02:00
967791f6f3 Add the actual file 2013-07-19 15:02:01 +02:00
1b5e0821d1 Add hacking.xml to the distribution 2013-07-19 15:01:18 +02:00
6574d125c7 Get rid of a warning in the HipChat plugin 2013-07-19 14:43:04 +02:00
b47d9814e3 Clear $HYDRA_CONFIG in the tests
Otherwise one might accidentally send out HipChat notifications when
running the tests...
2013-07-19 14:42:34 +02:00
659c829e88 Tweaks for nix-shell 2013-07-19 14:36:52 +02:00
7cd386894d Don't try to open the Nix DB from configure
Not sure how this ever worked before...
2013-07-19 10:57:40 +02:00
2d5e06918b Hydra::View::Plain: Explicitly set the response body.
This fixes a bug with Catalyst 1.39 whereby a raw hash table would
erroneously be returned for /nix-cache-info.
2013-07-12 16:53:48 +02:00
438d7f7c5c Reply 404 for requests for non-existent .narinfo. 2013-07-12 16:52:40 +02:00
db3647aa15 Set the character set
Cherry-picked from the persona branch.
2013-07-12 15:04:13 +02:00
d071bbfb28 Fix Hipchat notification 2013-07-12 15:04:13 +02:00
7a0f80f016 Include the email override list in the Jobset serialization
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-11 11:01:36 -04:00
ccd2292458 Link to both the Persona and legacy sign in 2013-07-09 14:39:28 +02:00
486a844866 Fix audience URL 2013-07-09 14:05:04 +02:00
1db9381473 Fix legacy login 2013-07-09 13:55:44 +02:00
9aa44fa944 Some escaping 2013-07-09 13:55:29 +02:00
895f21cfad Show a user's roles in the preferences page 2013-07-09 13:07:04 +02:00
476203d0bb Prevent Persona users from setting a password 2013-07-09 13:01:56 +02:00
5fecf8e385 Show sign in as success 2013-07-09 12:07:18 +02:00
08f3bb78c4 Use the alert class for flash messages 2013-07-09 12:05:25 +02:00
12ca755bea Don't redirect to /login if authentication is required
We can just serve the login page in place.
2013-07-09 12:02:15 +02:00
13f0b54c49 Set the character set 2013-07-09 00:23:48 +02:00
c08fc6ce1e Add basic Persona support
This allows users to sign in to Hydra using Mozilla Persona accounts.
When a user first sign in, a row in the Users table for the given
Persona identity (an email address) is created automatically.

To do: figure out how to deal with legacy accounts.
2013-07-08 23:54:40 +02:00
efd011fbc3 Revert "Don't call buildFinished after we already know it failed"
I don't understand perl strings.

This reverts commit b2f6be9686.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-08 14:30:46 -04:00
b2f6be9686 Don't call buildFinished after we already know it failed
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-08 13:52:51 -04:00