Commit graph

803 commits

Author SHA1 Message Date
Eelco Dolstra
486a844866 Fix audience URL 2013-07-09 14:05:04 +02:00
Eelco Dolstra
1db9381473 Fix legacy login 2013-07-09 13:55:44 +02:00
Eelco Dolstra
476203d0bb Prevent Persona users from setting a password 2013-07-09 13:01:56 +02:00
Eelco Dolstra
5fecf8e385 Show sign in as success 2013-07-09 12:07:18 +02:00
Eelco Dolstra
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
Eelco Dolstra
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
Shea Levy
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
Shea Levy
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
Shea Levy
166d56088f Call buildFinished when a cached build is added
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-08 13:35:34 -04:00
Shea Levy
b46f2134e0 Revert "Emable overriding the email template."
This doesn't work as planned, will re-work.

This reverts commit 304f8a5714.
2013-07-05 18:10:50 -04:00
Shea Levy
a168f43515 Revert "Handle HYDRA_EMAIL_TEMPLATES that are paths"
This doesn't work as planned, will re-work.

This reverts commit d2ce7747a0.
2013-07-05 18:10:21 -04:00
Shea Levy
d2ce7747a0 Handle HYDRA_EMAIL_TEMPLATES that are paths
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-05 17:22:51 -04:00
Shea Levy
304f8a5714 Emable overriding the email template.
The HYDRA_EMAIL_TEMPLATE env var can be set to any value understood by
https://metacpan.org/module/Template#process-template-vars-output-options
as the $template argument.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-05 16:29:09 -04:00
Shea Levy
be3ca0dd84 Fix jobset update
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-05 14:44:29 -04:00
Shea Levy
93a14ccf32 Check if we want to send email for a build before iterating through its users
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-05 14:06:10 -04:00
Shea Levy
002ac9ef63 Merge in the first bits of the API work
The catalyst-action-rest branch from shlevy/hydra was an exploration of
using Catalyst::Action::REST to create a JSON API for hydra. This commit
merges in the best bits from that experiment, with the goal that further
API endpoints can be added incrementally.

In addition to migrating more endpoints, there is potential for
improvement in what's already been done:
* The web interface can be updated to use the same non-GET endpoints as
  the JSON interface (using x-tunneled-method) instead of having a
  separate endpoint
* The web rendering should use the $c->stash->{resource} data structure
  where applicable rather than putting the same data in two places in
  the stash
* Which columns to render for each endpoint is a completely debatable
  question
* Hydra::Component::ToJSON should turn has_many relations that have
  strings as their primary keys into objects instead of arrays

Fixes NixOS/hydra#98

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-02 14:00:46 -04:00
Eelco Dolstra
d18fc4fc38 Include names of committers in HipChat notifications
HipChat notification messages now say which committers were
responsible, e.g.

  Job patchelf:trunk:tarball: Failed, probably due to 2 commits by Eelco Dolstra
2013-07-02 13:54:18 +02:00
Eelco Dolstra
fe030331b5 Revert "Don't compress already-compressed files."
This reverts commit 190bffd846.
2013-07-01 18:46:18 +02:00
Eelco Dolstra
11414b0447 Revert "Doh"
This reverts commit f1f938512d.
2013-07-01 18:46:14 +02:00
Rob Vermaas
f1f938512d Doh 2013-07-01 18:12:33 +02:00
Rob Vermaas
9d7c14b342 Merge pull request #103 from civodul/nar-uncompressed
Don't compress already-compressed files.
2013-07-01 08:16:51 -07:00
Eelco Dolstra
9939ddf22c Add a plugin for HipChat notification
This plugin sends notification of build failure or success to a
HipChat room, if the status differs from the last build.

The plugin can be configured by adding one or more of these stanzas to
hydra.conf:

  <hipchat>
    jobs = (patchelf|nixops):.*:.*
    room = 1234
    token = 39ab2198fe...
  </hipchat>

Here "jobs" is a regular expression against which the fully qualified
job name of the build is matched (so for instance
"nixops:master:tarball" will match the stanza above).
2013-06-27 18:56:31 +02:00
Eelco Dolstra
698d6eac89 Eliminate duplicate getPreviousBuild functions
And move some stuff into CatalystUtils for use by other plugins.
2013-06-27 18:08:00 +02:00
Eelco Dolstra
a5436be2ce After editing a project/jobset, redirect back to the config tab 2013-06-25 01:00:59 +02:00
Eelco Dolstra
afc90b36db Don't print to stdout 2013-06-24 22:22:43 +00:00
Ludovic Courtès
190bffd846 Don't compress already-compressed files.
Fixes <https://github.com/NixOS/hydra/issues/102>.
2013-06-23 15:23:16 +02:00
Eelco Dolstra
51f0185797 Allow _ in release names 2013-06-18 16:00:24 +02:00
Eelco Dolstra
1c30a777ad Fix project/jobset deletion 2013-06-11 16:57:22 +02:00
Eelco Dolstra
f4ecf27def Fix Perl warning about $path masking earlier definition 2013-06-02 23:32:09 +02:00
Eelco Dolstra
77e37c1ea3 Don't add a nix-build build product unless $out is a directory 2013-05-28 18:43:05 +02:00
Eelco Dolstra
1f1615e80b Support revision control systems via plugins 2013-05-25 15:36:58 -04:00
Petr Rockai
6c0577b226 Respect X-Request-Base header coming from a frontend proxy. 2013-05-23 13:07:40 -04:00
Eelco Dolstra
5e5b344527 Make latest/latest-for more efficient
Getting all matching rows from the database is expensive.
2013-05-23 12:18:38 -04:00
Eelco Dolstra
7b5e92868b Remove unused Jobs columns
Actually, we can *almost* get rid of the Jobs table entirely...
2013-05-23 12:12:19 -04:00
Eelco Dolstra
57b2bb0674 Let Builds.timestamp refer to the time the build was added
Previously, for scheduled builds, "timestamp" contained the time the
build was added to the queue, while for finished builds, it was the
time the build finished.  Now it's always the former.
2013-05-23 10:45:49 -04:00
Eelco Dolstra
e09622eb29 Include # of failed builds in Subject 2013-05-21 18:30:05 -04:00
Eelco Dolstra
444b03bad2 Omit the system type if it's part of the job name 2013-05-15 11:43:06 +02:00
Eelco Dolstra
ac6a152ec5 Improve email notifications status messages
Add "Failed with output", and shorten "Failed with non-zero exit code"
to "Failed".
2013-05-15 11:31:37 +02:00
Eelco Dolstra
7b78596412 Install plugins 2013-05-09 17:02:16 +02:00
Eelco Dolstra
184d23dc41 Remove debug line 2013-05-09 15:10:30 +02:00
Eelco Dolstra
26b3da5d13 Fix tests
http://hydra.nixos.org/build/4902041
2013-05-09 14:29:04 +02:00
Eelco Dolstra
de89c566f8 Use Template::Toolkit to generate email messages
Also, make the messages much shorter by not including build details.
2013-05-09 14:23:15 +02:00
Eelco Dolstra
b378d94087 If multiple dependent builds fail, send a single email 2013-05-09 11:39:58 +02:00
Eelco Dolstra
44b8d6f449 Use OO-style plugins
This is mostly so we don't have to pass around common parameters like
"db" and "config", and we don't have to check for the existence of
methods.

A plugin now looks like this:

  package Hydra::Plugin::TwitterNotification;

  use parent 'Hydra::Plugin';

  sub buildFinished {
      my ($self, $build, $dependents) = @_;
      print STDERR "tweeting about build ", $build->id, "\n";
      # Send tweet...
      # Hydra database is $self->{db}.
  }
2013-05-08 18:35:24 +02:00
Eelco Dolstra
1d8bb0764b Add a plugin mechanism
You can now add plugins to Hydra by writing a module called
Hydra::Plugin::<whatever> and putting it in Perl's search path.  The
only plugin operation currently supported in buildFinished, called
when hydra-build has finished doing a build.

For instance, a Twitter notification plugin would look like this:

  package Hydra::Plugin::TwitterNotification;

  sub buildFinished {
      my ($self, $db, $config, $build, $dependents) = @_;
      print STDERR "tweeting about build ", $build->id, "\n";
      # send tweet...
  }

  1;
2013-05-08 17:30:30 +02:00
Eelco Dolstra
507e5bb190 Drop unused "disabled" columns 2013-05-03 16:39:17 +02:00
Eelco Dolstra
e96916533f Allow a per-jobset check interval
This allows checking a jobset (say) at most once a day.  It's also
possible to disable polling by setting the interval to 0.  This is
useful for jobsets that use push notification or are manually
evaluated.
2013-05-02 17:55:47 +02:00
Shea Levy
b8ea428bb1 Allow manually scheduling disabled jobsets for evaluation
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-02 11:21:43 -04:00
Eelco Dolstra
3003bb1c99 Don't fall thru to Hydra::View::NARInfo
This caused exceptions like:

  Caught exception in Hydra::Controller::Build->view_build "writing to file: Broken pipe at /nix/store/ihdb3widsq1dk7sbl5vqjxfcxb5ypad4-hydra-0.1pre1297-8158093/libexec/hydra/lib/Hydra/Controller/Build.pm line 59."

because the connection to the Nix daemon would be terminated due to a
protocol violation (calling queryPathInfo with an empty string).
2013-04-30 16:23:19 +02:00
Eelco Dolstra
45a1bb9926 Remove unnecessary parentheses in SQL query
These make SQLite 3.7.16.2 crash.

http://hydra.nixos.org/build/4815315
2013-04-29 21:38:57 +02:00
Eelco Dolstra
71eaa115f8 Ellipsize long jobset/job names to prevent bootstrap navbar breakage 2013-04-26 17:51:05 +02:00
Rob Vermaas
fd7acd9bbf When searching a path / drv path, use separate queries for both options to prevent seq. scan. 2013-04-26 08:51:49 -04:00
Eelco Dolstra
591aee0793 getPrimaryBuildsForView: Return all view results
Returning only the first 20 results can cause NixOS/Nixpkgs channel
generation to fail, if the first 20 view results correspond to
evaluations that haven't finished yet.  Then URLs like
/view/nixos/tested/latest-finished will return 500 rather than the
latest finished view.
2013-04-26 13:21:41 +02:00
Rob Vermaas
bfc1b0e76a Allow searching for store and drv paths. Only does a complete match to reduce load on database. 2013-04-25 09:57:30 -04:00
Eelco Dolstra
2c7a479994 Minor tweak 2013-04-23 15:39:05 +02:00
Eelco Dolstra
72a44cfcaa Make negative narinfo responses much smaller 2013-04-23 15:33:58 +02:00
Eelco Dolstra
7528a9c7e7 Machine status: Don't show removed machines anymore
This requires a sequential scan on the BuildSteps table, which by now
takes > 8s.
2013-04-23 15:20:24 +02:00
Eelco Dolstra
9f027b22b1 Allow users to reproduce builds on their own systems
You can now do:

  bash <(curl http://hydra-server/build/1238757/reproduce)

to download and execute a script that reproduces a Hydra build
locally.  This script fetches all inputs (e.g. Git repositories) and
then invokes nix-build.

The downloaded sources are stored in /tmp/build-<buildid> and reused
between invocations of the script.

Any additional command line options are passed to nix-build.  So

  bash <(curl http://hydra-server/build/1238757/reproduce) --run-env

will drop you in a shell where you can interactively hack on the
build, e.g.

  $ source $stdenv/setup
  $ set +e
  $ unpackPhase
  $ cd $sourceRoot
  $ configurePhase
  $ emacs foo.c &
  $ make

and so on.
2013-04-04 17:30:07 +02:00
Eelco Dolstra
48bb9c48ed Security: Prevent shell injection attack in rendering build contents 2013-04-03 00:13:03 +02:00
Eelco Dolstra
e7926e046b Security: Improve checking of build products
Build product paths cannot reference locations outside of the Nix
store.  We previously disallowed paths from being symlinks, but this
didn't take into account that parent path elements can be symlinks as
well.  So a build product /nix/store/bla.../foo/passwd, with
/nix/store/bla.../foo being a symlink to /etc, would still work.

So now we check all paths encountered during path resolution.
Symlinks are allowed again so long as they point to the Nix store.
2013-04-02 23:32:04 +02:00
Hydra
16dbec332d Postgresql 8.x needs as for column. 2013-04-01 20:18:00 -04:00
Eelco Dolstra
ee5b762919 Disable account creation for now 2013-03-28 11:56:12 +01:00
Rob en Lizi Vermaas
52a9f1a14e Use get_column for 'as' column (max_stoptime). 2013-03-24 18:50:17 +01:00
Sander van der Burg
03189bf62b Implemented quoted strings support in hydra-build-products to allow file names with spaces + testcase 2013-03-20 18:05:21 +01:00
Shea Levy
94382bd8f0 Admin controller: Use PathPart, not Path
Chaining paths only works properly when PathPart is used. Before this
fix, the affected URIs bypassed the top-level 'admin' sub.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-14 19:22:02 -04:00
Eelco Dolstra
c96e427ec0 Log segfaults from the evaluator 2013-03-14 17:39:24 +01:00
Eelco Dolstra
fcd511c4de Revert "Remove now-unused SystemTypes table"
This reverts commit 71d020735b.
Unfortunately there are still some cases where we need to set Hydra's
concurrency separately.  (Ideally, Hydra would start *all* queued
builds in parallel and let Nix take care of everything...)
2013-03-05 17:42:16 +01:00
Shea Levy
71d020735b Remove now-unused SystemTypes table 2013-03-04 17:46:37 -05:00
Shea Levy
233e485a55 Remove the BuildMachines and BuildMachinesSystemTypes tables 2013-03-04 16:32:16 -05:00
Shea Levy
232170e301 Remove all entry points to modify machines 2013-03-04 16:05:50 -05:00
Shea Levy
170c7c98d0 machines: Read /etc/nix.machines instead of using the BuildMachines table 2013-03-04 16:03:04 -05:00
Shea Levy
f9426f365b machine-status: Read /etc/nix.machines instead of using the BuildMachines table 2013-03-04 15:37:20 -05:00
Eelco Dolstra
a77161e40a Allow users to edit their own settings
Also, don't use the flash anymore for going back to the referer.
2013-03-04 15:25:23 +01:00
Eelco Dolstra
f831287d4b Add font for the captcha
Taken from http://www.thibault.org/fonts/staypuft/.
2013-03-04 12:16:13 +01:00
Eelco Dolstra
e8cbcb50ac Add user registration 2013-02-27 18:33:47 +01:00
Eelco Dolstra
d1c2771ab8 Ensure that each eval is compared to the previous one from the same jobset
Also, reduce the number of database hits.
2013-02-26 19:08:39 +01:00
Eelco Dolstra
56a62c3d88 Make jobset deletion consistent with project deletion 2013-02-26 17:36:49 +01:00
Eelco Dolstra
d596b58991 "Evaluate" command: push the jobset to the front of the eval queue
Don't let hydra-server call hydra-evaluate.  That will probably just
timeout, get killed, etc.
2013-02-26 16:56:19 +01:00
Eelco Dolstra
eea3846754 After editing a jobset, push it to the front of the evaluation queue 2013-02-26 16:10:36 +01:00
Eelco Dolstra
4b70be6753 Fix same system inputs 2013-02-26 15:51:56 +01:00
Eelco Dolstra
1e338e7958 api/push: Don't barf on non-existent jobsets 2013-02-26 01:46:19 +01:00
Eelco Dolstra
f501648cd2 Add simpler push support for GitHub
You can use the URL

  http://<hydra-server>/api/push-github

as GitHub's WebHook URL.  Hydra will automatically trigger an
evaluation of all affected jobsets.
2013-02-26 01:14:50 +01:00
Eelco Dolstra
11d87c6f82 Use query_params instead of params
Otherwise crazy things happen with POST requests from GitHub.
2013-02-26 00:38:18 +01:00
Eelco Dolstra
5e6896b2d9 Turn prepared statements back on
We once turned these off (in commit
abe71a767b) because they caused the
PostgreSQL query optimizer to use very suboptimal plans.  However,
PostgreSQL 9.2 has supposedly fixed this:

  http://www.postgresql.org/docs/9.2/static/release-9-2.html

So let's try again.
2013-02-25 21:20:52 +01:00
Eelco Dolstra
42d2015357 Support push notification of repository changes
External machines can now notify Hydra that it should check a
repository by sending a GET or PUSH request to /api/push, providing a
list of jobsets to be checked and/or a list of repository URLs.  In
the latter case, all jobsets that have any of the specified
repositories as an input will be checked.

For instance, you can configure GitHub or BitBucket to send a request
to the URL

  http://hydra.example.org/api/push?repos=git://github.com/NixOS/nixpkgs.git

to trigger evaluation of all jobsets that have
git://github.com/NixOS/nixpkgs.git as an input, or to the URL

  http://hydra.example.org/api/push?jobsets=patchelf:trunk,nixpkgs:trunk

to trigger evaluation of just the specified jobsets.
2013-02-25 21:10:32 +01:00
Eelco Dolstra
65db523e46 Fix duplicate function name 2013-02-25 19:01:43 +01:00
Eelco Dolstra
c30cee55dd Send ETag and Expires headers 2013-02-25 18:18:05 +01:00
Eelco Dolstra
6658419f69 Disallow build products that are symlinks
Otherwise you can do

  ln -s /etc/passwd $out/foo
  echo "file misc $out/foo" >> $out/nix-support/hydra-build-products

and get Hydra to serve its /etc/passwd file.
2013-02-23 16:28:44 +01:00
Eelco Dolstra
aa7ddeb8e9 Use hashFile instead of nix-hash
Calling a shell command is a security hole if $path contains special
characters (e.g. "${foo}").  Observed in
http://hydra.nixos.org/build/4041321.
2013-02-23 16:09:34 +01:00
Eelco Dolstra
08dc6650e1 Search: Limit the number of results 2013-02-22 16:41:42 +01:00
Eelco Dolstra
4d4ea8c754 Search: Mark disabled projects/jobsets/jobs 2013-02-22 16:21:50 +01:00
Eelco Dolstra
f3f6e8a4e3 Search: Don't return hidden projects/jobsets 2013-02-22 15:56:29 +01:00
Eelco Dolstra
07daff32b8 Add a search feature
This allows searching for projects, jobsets or jobs by name or
description.
2013-02-22 15:45:10 +01:00
Eelco Dolstra
4343781181 Clear failed builds etc.: Redirect back to the referrer
Would be better to do this AJAX style though.
2013-02-22 14:31:43 +01:00
Eelco Dolstra
629fe6f998 Jobset page: Load the jobs and status tabs on demand
This makes the jobset page much smaller and faster.  (E.g. for
nixpkgs:trunk, this page was ~2.5 MB.)
2013-02-22 14:29:12 +01:00
Eelco Dolstra
f2de374f28 Set a 500 HTTP status on errors 2013-02-22 14:27:38 +01:00
Eelco Dolstra
098368c3e3 Job page: Remove "Latest builds (latest evaluation)"
It was kind of confusing since there are two other "latest builds"
tabs/sections.
2013-02-22 12:53:10 +01:00
Eelco Dolstra
6dbb948f1f Job page: show queued as well as running builds 2013-02-22 12:52:11 +01:00
Eelco Dolstra
d08a391b43 Jobset page: Show last evaluation time 2013-02-22 11:37:35 +01:00
Eelco Dolstra
c9ac7746b2 Allow showing all evaluations that contain a given build 2013-02-21 18:49:57 +01:00
Eelco Dolstra
6afe528570 Remove the related builds tab
You can now just click on the evaluation link on the first tab to see
all builds in the same jobset.  This also makes rendering build pages
quite a bit faster for jobsets like Nixpkgs.
2013-02-21 18:43:16 +01:00
Eelco Dolstra
c6fe9f00bf Also show number of evaluations of which a build is a part 2013-02-21 18:42:18 +01:00
Eelco Dolstra
edbe531ccc On build pages, provide a link to the build's first eval 2013-02-21 18:34:34 +01:00
Eelco Dolstra
d8370142c2 Remove garbage from Users.pm 2013-02-21 18:20:55 +01:00
Eelco Dolstra
ba68826860 Add a page to show the latest evaluations for the entire server 2013-02-21 17:27:17 +01:00
Eelco Dolstra
767cab6cd2 Correctly redirect to the referring page when logging in 2013-02-21 14:38:18 +01:00
Eelco Dolstra
fec45d1f07 Remove dead code 2013-02-21 13:45:11 +01:00
Eelco Dolstra
dd5eb51a84 Put job status on a separate tab
Also, show the "last checked time" on the initial tab.
2013-02-21 13:30:14 +01:00
Eelco Dolstra
8db83d2017 Turn hiding/unhiding a jobset into a checkbox 2013-02-21 02:36:51 +01:00
Eelco Dolstra
547e41263d Split viewing and editing a jobset 2013-02-21 02:33:57 +01:00
Eelco Dolstra
9c7b416f8b Make the hide/unhide actions a checkbox in the project settings
Also use proper bootstrap layout for the project settings form.
2013-02-21 01:45:39 +01:00
Eelco Dolstra
cea17fd57e Show releases in a tab on the project page 2013-02-21 01:23:42 +01:00
Eelco Dolstra
d9f6e662d8 Split viewing and editing a project 2013-02-21 01:12:57 +01:00
Eelco Dolstra
85e3f69cdd Remove debug statement 2013-02-20 18:22:06 +01:00
Eelco Dolstra
36a1015444 Show the runtime/build dependencies in the build page 2013-02-20 17:58:27 +01:00
Eelco Dolstra
7da2398f27 Allow non-admin users to see the machine status page 2013-02-20 16:40:09 +01:00
Eelco Dolstra
82daf4f8ca Show dependencies as a tree rather than a list 2013-02-14 15:53:34 +01:00
Eelco Dolstra
4e67665b7f Builds page: Remove redundant tab titles 2013-02-14 13:23:54 +01:00
Eelco Dolstra
1160e17bfc Add missing files
Doh!
2013-02-14 11:53:09 +01:00
Eelco Dolstra
2b3c72efeb Use getMainOutput 2013-02-13 18:36:01 +01:00
Eelco Dolstra
eb9d0c8992 Security: Also check paths in the web server 2013-02-13 18:34:33 +01:00
Eelco Dolstra
cd83b8e3aa Security: Ensure that a build product refers to the Nix store 2013-02-13 18:26:00 +01:00
Eelco Dolstra
10882a1ffd Add multiple output support
This requires turning the outPath columns in the Builds and BuildSteps
tables into separate tables, and so requires a schema upgrade.
2013-02-13 16:49:28 +00:00
Eelco Dolstra
e555c7bb36 Automatically chomp all [%...%] directives
This makes the use of [%-...-%] unnecessary.
2013-02-05 14:00:09 +01:00
Eelco Dolstra
58dd49e645 Fix handling of IPC::Run::run exit status
Turns out that the exit status is returned in $?, not as the return
value of run().  So our error checking was completely bogus.
2013-01-23 15:56:28 +01:00
Eelco Dolstra
e0de5de91d Fix some warnings 2013-01-23 12:41:57 +00:00
Eelco Dolstra
30e5185acf Remove the logfile and logSize columns from the database
It's pointless to store these, since Nix knows where the logs are.
Also handle (in fact require) Nix's new log storage scheme.  Also some
cleanups in the build page.
2013-01-22 22:48:02 +01:00
Eelco Dolstra
67aefde62c Remove trailing whitespace 2013-01-22 14:41:02 +01:00
Eelco Dolstra
aa28ffe3a8 Die tabs die 2013-01-22 14:09:37 +01:00
Eelco Dolstra
486b6037a9 Use $c->config 2013-01-22 14:06:12 +01:00
Eelco Dolstra
f188fe5683 hydra-evaluator: Don't require $HYDRA_CONFIG 2013-01-22 13:19:28 +01:00
Eelco Dolstra
fc39034772 Whitespace 2013-01-22 13:19:08 +01:00
Rob Vermaas
d4e49773c5 Allow dashes in attrNames 2013-01-11 12:16:21 +01:00
Eelco Dolstra
64399991a7 Give Hydra binary caches a low priority
We only want to hit a Hydra binary cache if static caches don't
provide a binary.
2012-11-06 17:13:17 +01:00
Eelco Dolstra
2906116fda Log time required by a request 2012-11-05 17:37:23 +01:00
Eelco Dolstra
9ba1fd6952 Turn off overly verbose log messages by default
The "Request took ...s" messages are rather spammy, so turn them off
by default.  You can set CATALYST_DEBUG=1 if you need them.
2012-11-05 17:21:09 +01:00
Ludovic Courtès
f27ae1d566 Add support for Guile & Guix. 2012-10-17 16:23:00 +02:00
Rob Vermaas
4ade8c5a1b Add dollar to pathCompRE, which allows files with dollars in them to be served by Hydra, e.g. sphinx generated docs often has these types of files. 2012-10-12 13:48:11 +02:00
Rob Vermaas
f4a24b94ee Fallback for git fetch, which allows specific gits revisions to be used as build inputs. 2012-09-11 22:31:49 +02:00
Rob Vermaas
c57242c76d Show build status for up to 100 jobs in stead of 50. 2012-09-10 12:15:31 +02:00
Rob Vermaas
396a356198 Add create-user action that was mostly present already. 2012-08-06 00:02:14 +02:00
Eelco Dolstra
aa8bf564e2 Set the Content-Type properly 2012-08-01 18:00:55 +00:00
Eelco Dolstra
13688e364f Add a binary-cache-url file to channels to advertise the binary cache URL 2012-08-01 16:31:25 +00:00
Eelco Dolstra
fad2a084fa Provide the nix-cache-info file required by the binary cache substituter 2012-07-30 20:26:34 +00:00
Eelco Dolstra
d15dd6bac9 Include the URL of the binary cache in .nixpkg files 2012-07-30 20:26:11 +00:00
Eelco Dolstra
67528698e6 Allow creating a release from an evaluation 2012-07-18 23:46:41 +02:00
Eelco Dolstra
2ab4c7d597 Update queryPathInfo calls 2012-07-18 23:14:45 +02:00
Eelco Dolstra
da960b507d Use queryPathFromHashPart to look up binary cache requests efficiently 2012-07-18 23:14:17 +02:00
Eelco Dolstra
1b3cf68b77 Generate *.narinfo files on the fly to support the binary cache substituter 2012-07-02 20:09:45 +02:00
Eelco Dolstra
fe2dab6fe8 Fix some warnings about undefined values 2012-07-02 15:18:30 +00:00
Rob Vermaas
d37c2c239c export logContents 2012-06-26 12:09:05 +02:00
Rob Vermaas
a2f56ce574 * Read logs using logContents function in stead of handling it everywhere separately. 2012-06-26 12:00:18 +02:00
Rob Vermaas
0701cd0da8 * Fix getBuildLog for bzip2'd files. 2012-06-26 08:04:35 +02:00
Rob Vermaas
2aa52131ac * Nix now stores logs by default as bzip2, make sure the build page uncompresses before showing. 2012-06-25 15:05:16 +02:00
Eelco Dolstra
fdf441a8b7 Set utf-8 encoding on raw log pages 2012-05-25 14:27:56 +00:00
Rob Vermaas
75277311ac Different icons (darker red) for cancelled builds. Fixes #25. 2012-05-25 04:14:36 +02:00
Rob Vermaas
0fdcd3176b Add numbered revision id of mercurial as revCount. 2012-05-01 09:15:52 +02:00
Rob Vermaas
df71a86183 Do not delete builds when clearing the queue. Fixes #8. 2012-04-30 22:13:53 +02:00
Rob Vermaas
437e59c4a8 When checking if build is already built, check for potential 'failed with result'. Fixes issue #7. 2012-04-30 19:47:21 +02:00
Eelco Dolstra
4a6f798ef4 Fix Mercurial input fetching if a cached input has been GC'ed
Fixes Hydra/76.
2012-04-30 16:21:28 +02:00
Rob Vermaas
6d5567bb16 Use git fetch -fu origin +$branch:$branch to fetch all changes for branch. 2012-04-26 08:36:40 +02:00
Rob Vermaas
be3748e1ec In case of deep clone, make sure there is local branch. 2012-04-25 13:49:28 +02:00
Rob Vermaas
7da48b5220 remove origin from git pull call, to get rid of fatal: fetch --all does not take a repository argument error 2012-04-25 10:17:22 +02:00
Rob Vermaas
b49e138e9c Merge pull request #3 from nbp/candidates/fetch-git
Optimize fetch-git.
2012-04-24 10:18:28 -07:00
Rob Vermaas
b0596c214a Merge branch 'master' of github.com:NixOS/hydra 2012-04-18 11:24:12 +02:00
Rob Vermaas
cc38d0352f Strip all whitespace from revision from subversion call. Patch provided by Petr Ročkai 2012-04-18 11:22:26 +02:00
Eelco Dolstra
f8c914297f Fix path to the session data 2012-04-17 22:25:32 +02:00
Eelco Dolstra
51b920c875 Bootstrapify the Hydra forms (except the project and jobset edit pages)
Plus lots of other tweaks.
2012-04-17 16:53:11 +02:00
Eelco Dolstra
896a47d950 Clear nrSucceeded when restarting a build 2012-04-17 09:34:35 +00:00
Eelco Dolstra
d350b935f2 Add validation for project and jobset names 2012-04-17 08:53:00 +00:00
Rob Vermaas
922bad7306 Also remove dep. graph from robots.txt. 2012-04-16 15:25:14 +02:00
Rob Vermaas
334135448e Remove buildtime and runtime dependency graph. It is useless on normal derivations. 2012-04-16 15:23:07 +02:00
Eelco Dolstra
ec87ad2bf2 Missing part of aaacf9eda3 2012-04-15 22:57:10 +00:00
Eelco Dolstra
034d50069b Speed up the jobset eval list a bit 2012-04-15 22:11:20 +00:00
Eelco Dolstra
573a333bc9 Cleanup 2012-04-15 21:49:54 +00:00
Eelco Dolstra
5793baa3cd Doh 2012-04-15 21:35:46 +00:00
Eelco Dolstra
0daba6bb89 In the jobset evals lists, show what inputs changed between consecutive evals 2012-04-15 20:06:42 +00:00
Eelco Dolstra
b9824ca422 Cleanup 2012-04-15 18:47:22 +00:00
Eelco Dolstra
fd50ac1d4e Store the inputs of each evaluation in the database
Achtung: this requires a schema upgrade via "hydra-init".
2012-04-15 18:36:36 +00:00
Eelco Dolstra
794602d7ce Drop unused "tag" column
It was intended for CVS inputs but never used.
2012-04-15 12:42:46 +00:00
Nicolas Pierron
19d9955e89 Optimize fetch-git. 2012-04-14 18:17:35 -07:00
Rob Vermaas
516a644a7f Merge branch 'master' into bootstrap 2012-04-13 11:55:49 +02:00
Rob Vermaas
bb4f470348 Remove default logo, replaced by text for now. Hide template in jobset edit. 2012-04-13 11:47:05 +02:00
Rob Vermaas
f63e9a63b4 Replace last 5 builds on jobset page with last 5 evaluations. Moved hide/unhide and evaluate options to jobset topmenu. 2012-04-13 11:26:37 +02:00
Rob Vermaas
b81aa89260 Replace old logo with Nix/NixOS logo. 2012-04-13 10:33:11 +02:00
Rob Vermaas
9a1f38e06e Remove comments, re-add logo. 2012-04-13 10:05:02 +02:00
Ludovic Courtès
6e62d9b7b5 Allow use of a single Git clone for several branches.
This reinstates commit 53329ecc61, but
uses "git pull --all", instead of "git fetch --all", so that local
tracking branches get updated too.
2012-04-12 16:55:33 +02:00
Rob Vermaas
ed23a6e6d3 Add branch to local clone path of git repositories for now. 2012-04-10 10:06:12 +02:00
Rob Vermaas
79211d5efe Revert "Use git fetch --all to update local clone in stead of git pull. Also, do not use --branch in initial clone."
This reverts commit 53329ecc61.
2012-04-10 10:04:22 +02:00
Rob Vermaas
53329ecc61 Use git fetch --all to update local clone in stead of git pull. Also, do not use --branch in initial clone. 2012-04-05 15:49:48 +02:00
Eelco Dolstra
8b88ce19c2 Huuuge speedup in the Hydra evaluator
The check to see whether a build had been scheduled in a previous
evaluation took about 200 ms for the nixpkgs:trunk jobset.  Given
that it has more than 15000 builds, this added up to a lot.  Now
it takes 0.2 ms per build.
2012-04-04 17:29:03 +02:00
Eelco Dolstra
e9dd3158a0 Propagate URI parameters
This allows URIs like

  http://hydra.nixos.org/jobset/nixpkgs/trunk/latest-eval?compare=stdenv

to do the right thing.
2012-04-04 12:56:49 +02:00
Eelco Dolstra
f52ca0c588 Add a redirect to the latest view result for which the underlying evaluation has finished completely
This will be useful for the Nixpkgs channel mirror script:

  http://hydra.nixos.org/view/nixpkgs/unstable/latest-finished/channel

is the channel containing the latest, consistent, tested set of builds.
2012-04-03 17:45:03 +02:00
Eelco Dolstra
bd93ca9316 Add a redirect to the evaluation page of a view result
E.g.

  http://hydra.nixos.org/view/nixpkgs/unstable/latest/eval

Thus this is the channel representing the latest Nixpkgs for which the
elements of the view "unstable" succeeded:

  http://hydra.nixos.org/view/nixpkgs/unstable/latest/eval/channel
2012-04-03 15:45:48 +02:00
Eelco Dolstra
2c677ec71a Always record inputs passed through -I in the BuildInputs table
We currently have no way to determine if the Nix evaluator used a
specific -I input, so we need to record all of them as inputs.
2012-04-03 10:10:45 +00:00
Eelco Dolstra
30e2b9046a Cleanup 2012-04-03 11:28:59 +02:00
Eelco Dolstra
db2b2b6134 Add a redirect to the latest finished jobset evaluation
The action .../jobset/<project>/<jobset>/latest-eval redirects to the
latest evaluation of the jobset that has no unfinished builds.  Thus,
for instance,

  http://hydra.nixos.org/jobset/nixpkgs/trunk/latest-eval/channel

is the channel containing the latest consistent set of Nixpkgs builds.
2012-04-03 01:30:54 +02:00
Eelco Dolstra
262f068e26 Support obtaining the contents of an evaluation as a channel
E.g. http://hydra.nixos.org/eval/552513/channel

The advantage of such a channel is that all builds come from the same
evaluation, and thus are consistent.
2012-04-02 23:27:17 +02:00
Eelco Dolstra
69e600da89 Allow comparing an evaluation with an arbitrary other evaluation
The URI parameter "compare=..." can denote either an arbitrary
evaluation ID, or the name of a jobset in the same project.  In the
latter case, the comparison is made against the latest completed
evaluation of the specified jobset.
2012-04-02 20:40:59 +02:00
Eelco Dolstra
2f9153c640 Prevent multiple builds with the same (job, outPath) tuple from being added
This happened in a pathological case in Nixpkgs: the "grub" job is
evaluated for i686-linux and x86_64-linux, but in the latter case it
returns the same derivation as in the former case.  So only one build
should be added.
2012-04-02 15:56:29 +00:00
Eelco Dolstra
9d4cb29e08 Show queued builds in jobset evaluation pages 2012-04-02 15:23:42 +00:00
Eelco Dolstra
427e5e8db8 Show new and removed jobs 2012-04-02 16:45:05 +02:00
Eelco Dolstra
662cdf0421 Add support for viewing jobset evaluations 2012-04-02 16:11:22 +02:00
Eelco Dolstra
e1768cae86 Don't barf if the SQLite DB is missing
This prevented hydra-init from starting.
2012-03-19 03:57:11 +00:00
Ludovic Courtès
3846c2407d Fix URL in the "password changed" email. 2012-03-13 18:30:57 +01:00
Eelco Dolstra
161d7418f8 Doh 2012-03-13 13:30:41 +01:00
Eelco Dolstra
1f268d2d43 Update isCurrent properly 2012-03-13 13:09:10 +01:00
Eelco Dolstra
179b012a8e Open the DB using Hydra::Model::DB->new
This gets rid of the openHydraDB function and ensures that we
open the database in a consistent way.

Also drop the PostgreSQL sequence hacks.  They don't seem to be
necessary anymore.
2012-03-13 12:10:19 +01:00
Eelco Dolstra
87e4d43848 Fix the jobset unchanged check
When checking whether the jobset is unchanged, we need to compare with
the previous JobsetEval regardless of whether it had new builds.
Otherwise we'll keep adding new JobsetEval rows.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
27619f18e2 Re-enable the "Related Builds" tab
However, there is a "limit 1" on the JobsetEval search to prevent a
sequential scan of the Builds table.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
abe71a767b Disable prepared statements completely
Because of the way DBIx::Class does prepared statements, even
innocuous queries such

  $c->model('DB::Builds)->search({finished => 0})

can be extremely slow.  This is because DBIx::Class prepares a
PostgreSQL statement

  select ... from Builds where finished = ?

and since Builds is very large and there is a large fraction of rows
with "finished = 1", the PostgreSQL query planner decides to implement
this query with a sequential scan of the Builds table (despite the
existence of an index on "finished"), which is extremely slow.  It
would be nice if we could tell DBIx::Class that constants should be
part of the prepared statement, i.e.

  select ... from Builds where finished = 0

but AFAIK we can't.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
2d1cf73974 Speed up channel processing
In particular the /pkg action is now O(lg n) instead of O(n) in the
number of packages in the channel, and listing the channel contents
no longer requires calling isValidPath() on all packages.

Derivations (and thus build time dependencies) are no longer included
in the channel, because they're not GC roots.  Thus they could
disappear unexpectedly.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
9f10c0f9c0 Fix a reference to BuildResultInfo 2012-03-12 20:47:30 +01:00
Eelco Dolstra
07b3dffd20 Reduce I/O in build listings by only fetching required columns
Columns such as "longDescription" can be large, so fetching them
when they're not needed is wasteful.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
47f877c5bb Evaluator cleanups
* Don't use isCurrent anymore; instead look up builds in the previous
  jobset evaluation.  (The isCurrent field is still maintained because
  it's still used in some other places.)

* To determine whether to perform an evaluation, compare the hash of
  the current inputs with the inputs of the previous jobset
  evaluation, rather than checking if there was ever an evaluation
  with those inputs.  This way, if the inputs of an evaluation change
  back to a previous state, we get a new jobset evaluation in the
  database (and thus the latest jobset evaluation correctly represents
  the latest state of the jobset).

* Improve performance by removing some unnecessary operations and
  adding an index.
2012-03-12 20:47:29 +01:00
Eelco Dolstra
8d65ab6158 Don't use a prepared statement for the active build steps query
Prepared statements are sometimes much slower than unprepared
statements, because the planner doesn't have access to the query
parameters.  This is the case for the active build steps query (in
/status), where a prepared statement is three orders of magnitude
slower.  So disable the use of prepared statements in this case.

(Since the query parameters are constant here, it would be nicer if we
could tell DBIx::Class to prepare a statement with those parameters
fixed.  But I don't know an easy way to do so.)
2012-03-12 20:47:29 +01:00
Eelco Dolstra
68a867da67 Merge the BuildResultInfo table into the Builds table 2012-03-12 20:47:29 +01:00
Eelco Dolstra
25334715f8 Merge the BuildSchedulingInfo table into the Builds table
This simplifies the code and improves performance since it reduces
the number of joins.
2012-03-12 20:47:29 +01:00
Eelco Dolstra
541238030d Provide a command ‘hydra-init’ to initialise/upgrade the database
For schema upgrades, hydra-init executes the files
src/sql/upgrade-<N>.sql, each of which upgrades the schema from
version N-1 to N.  The upgrades are wrapped in a transaction.
2012-02-28 20:16:16 +01:00
Eelco Dolstra
b13664308c Whitespace 2012-02-28 15:27:44 +01:00
Eelco Dolstra
3d824b3a3a Indentation 2012-02-21 17:59:36 +01:00
Eelco Dolstra
578530dac2 Don't show duplicate builds in "Related builds"
Since a build may be a member of multiple jobset evaluations, we need
to do a "select distinct" here.  But maybe we should only show builds
from a single evaluation (e.g. the most recent), since showing builds
from several may be confusing.
2012-02-21 17:16:32 +01:00
Rob Vermaas
2cf9b148eb 50 for related builds might be a kind of low, will start with 100 2012-02-16 17:00:59 +01:00
Rob Vermaas
924d94cafd * minor performance tweaks
* added related builds tab which show related builds (builds that are in same evaluations), shows max 50
2012-02-16 16:56:01 +01:00
Rob Vermaas
355135b6e8 add links in admin page to clear queue (all non-running builds, and all non-running old (non-current) builds) 2012-02-16 15:31:12 +01:00
Rob Vermaas
8d78a688c7 is not in hydra-server's scope 2012-01-28 21:03:44 +01:00
Rob Vermaas
1c0cd99c3e remove old line 2012-01-28 20:55:33 +01:00
Rob Vermaas
fded9e62af logdiff now support bzipped logs for logdiff 2012-01-28 20:47:01 +01:00
Rob Vermaas
ae491f7223 use base_uri config in password reset email 2012-01-28 07:18:10 +01:00
Rob Vermaas
01f07be8f2 fix; resetting password used to send email to logged in user (typically admin), now to the user whose password is resetted 2012-01-28 07:14:40 +01:00
Rob Vermaas
9b4f09ba83 allow dots (.) in job names when used as build input 2012-01-06 23:04:48 +01:00
Eelco Dolstra
9fe8c43437 Pass the abbreviated Git revision
The abbreviated Git revision hash (e.g. "267480b") is typically
contained in ‘gitTag’ as well, but the latter can contain other
elements as well, e.g., the delta to the closest tag.  That may
be undesirable in version strings, so this is an alternative.
2011-12-06 23:04:15 +01:00
Eelco Dolstra
b1da85140d Fix sysbuild input type handling 2011-12-05 17:13:20 +01:00
Eelco Dolstra
e9c88783ce Pass additional attributes for Git inputs
The ‘revCount’ attribute is the number of commits in the history
of the revision.  This is useful if you need a monotonically
increasing version number.

The ‘gitTag’ attribute is the output of ‘git describe’, e.g.
‘v1.0.4-14-g2414721’ to indicate that the current revision is 14
commits after the tag ‘v1.0.4’.
2011-12-05 15:13:31 +01:00
Eelco Dolstra
9032c55aa6 Keep track of the database schema version
The singleton table SchemaVersion contains the current version
of the Hydra database schema.  This can be used to upgrade the
schema on the fly.

Also reran the DBIx::Class schema loader.
2011-12-05 14:29:29 +01:00
Eelco Dolstra
3b9a62c964 Pass inputs to release expressions using -I
This means that you can now write (for instance)

  with <nixpkgs> { ... };

in release.nix, rather than

  { nixpkgs } :

  with nixpkgs { ... };
2011-12-05 13:08:43 +01:00
Eelco Dolstra
9d4b2253ea Add missing / 2011-12-04 22:53:07 +01:00
Eelco Dolstra
52406e108b Handle missing "build" inputs 2011-12-04 22:36:55 +01:00
Eelco Dolstra
65ea71578f Cleanup
Don't propagate $type unnecessarily.
2011-12-04 22:18:23 +01:00
Eelco Dolstra
6c3f878026 Die TABs die 2011-12-04 22:05:43 +01:00
Eelco Dolstra
29846d7f2f Do incremental SVN checkouts
In hydra-evaluator, reuse an SVN working copy between runs (similar to
what we do with Git and other input types).  This reduces network
traffic in the common case.

Also, don't use nix-prefetch-svn.  It doesn't do anything useful.
2011-12-04 22:05:43 +01:00
Eelco Dolstra
692a11fd3b Indentation 2011-12-04 22:05:43 +01:00
Ludovic Courtès
6c4e83d454 More command renaming. 2011-12-02 15:58:26 +01:00
Rob Vermaas
41cd5d2838 fix missing import of Nix::Store for isValidPath 2011-12-01 20:46:02 -05:00
Eelco Dolstra
be1935f66a Rename hydra_eval_jobs to hydra-eval-jobs 2011-11-30 18:14:48 +01:00
Eelco Dolstra
92536c2e3c Random indentation fix 2011-11-30 18:14:48 +01:00
Rob Vermaas
787ed37cb3 git branches can share local clones 2011-11-30 11:40:35 -05:00
Eelco Dolstra
c613b885f2 Use the new Nix Perl bindings 2011-11-30 15:25:28 +01:00
Eelco Dolstra
5333c67bf9 Prevent an unnecessary SQL query for every package in the NixExprs view 2011-11-30 14:27:46 +01:00
Eelco Dolstra
c8d572a0dc Remove the "all" channel
The "all" channel fundamentally doesn't scale, because it needs
to fetch N builds from the database (where N is potentially a very
large number), then check whether they are still valid.  And it's
not very useful anyway.
2011-11-30 12:07:47 +01:00
Eelco Dolstra
69e9a91bcb Fix a huge performance regression in the jobstatus page
The renderBuildStatusIcon function was looking at the
resultInfo and schedulingInfo of each build, causing
a SQL query for every build in the result.
2011-11-29 19:55:49 +01:00
Eelco Dolstra
eca51da45c Print out an Apache-style access log 2011-11-29 18:09:46 +01:00
Eelco Dolstra
3b550a8086 Minor style changes 2011-11-29 18:08:23 +01:00
Eelco Dolstra
3685ffd464 Whitespace 2011-11-29 15:57:47 +01:00
Eelco Dolstra
ee67821d1f Disable Catalyst's Debug flag
It can be re-enabled by setting $HYDRA_DEBUG to 1.
2011-11-25 16:44:18 +01:00
Eelco Dolstra
ec32e833e6 Install the file in the Hydra/Script directory 2011-11-22 17:34:23 +01:00
Eelco Dolstra
109e5807c2 Use CatalystX::Script::Server::Starman
This allows us to pass --max_server and similar options
to raise the number of workers from the default (5).
2011-11-22 16:44:32 +01:00
Rob Vermaas
f4204df39a always show latest 10 builds on job page 2011-11-16 10:36:18 -05:00
Rob Vermaas
1395717245 recognize tgz in build products contents page 2011-11-16 10:32:32 -05:00
Rob Vermaas
d14f7c7720 fix mercurial diffs, should change to cloned repo first 2011-11-01 21:36:46 -04:00
Rob Vermaas
13df3e4191 fix nrbuilds query 2011-11-01 21:35:02 -04:00
Rob Vermaas
9ce95d31f1 change content type of logdiff to ->response->content_type('application/json'); 2011-10-12 13:36:20 +00:00
Ludovic Courtès
c329bece61 Handle xz-compressed files. 2011-10-10 21:00:54 +00:00
Rob Vermaas
6d81bafae4 check for revisions 2011-10-05 19:08:45 +00:00
Rob Vermaas
52c2b31711 no branch info available yet in scmdiff, so disable for now 2011-10-05 18:45:19 +00:00
Rob Vermaas
6ca9501632 make default branch default, remove quotes 2011-10-04 22:29:36 +00:00
Rob Vermaas
9374cfcb34 add support for mercurial tags/revs 2011-10-04 20:03:43 +00:00
Ludovic Courtès
96b4db1e99 Allow Subversion inputs to specify a revision number. 2011-10-04 16:15:22 +00:00
Rob Vermaas
998665aa0f add log diff to compare logs to previous builds 2011-09-26 14:47:55 +00:00
Rob Vermaas
ef802279ed use build timestamp as last-modified header on download 2011-09-15 15:22:00 +00:00
Eelco Dolstra
d8a7ca67f4 * Start of a JSON API to get information about a specific build.
E.g. http://server/build/1341335/api/get-info returns a JSON 
  record containing information about the build.
2011-09-15 08:27:17 +00:00
Rob Vermaas
203716597d set threshold to show status on jobset page to a more usable size 2011-08-29 17:56:38 +00:00
Rob Vermaas
5d3f5f9fca hydra: when no external url is given for diff's of git/hg input, revert to a diff done on a local available clone 2011-08-25 14:50:31 +00:00
Eelco Dolstra
c51af99ecf * Catalyst now escapes slashes to %2f, which broke defaultUriForProduct. 2011-08-19 16:23:01 +00:00
Eelco Dolstra
5e359374a1 * Fix indentation. 2011-08-19 15:13:34 +00:00
Eelco Dolstra
3d6a8fa632 * Slight cleanup. 2011-08-16 14:51:19 +00:00
Rob Vermaas
b75ddbc11c allow _'s in first character of filenames 2011-07-25 23:19:24 +00:00
Rob Vermaas
8101874b83 grr, typo 2011-07-18 15:03:15 +00:00
Rob Vermaas
360b4a74bf remove buildonlylatest propery, which was committed by accident 2011-07-17 12:02:20 +00:00
Rob Vermaas
07f1d85518 remove unintentional committed line 2011-06-10 12:56:49 +00:00
Rob Vermaas
3824aeaab8 change regexp for ascii escapes in log 2011-06-10 10:53:59 +00:00
Rob Vermaas
5d166150f9 using backquote as argument resulted in only first line as first argument to removeAsciiEscapes 2011-06-10 10:48:51 +00:00
Rob Vermaas
48b435c2de remove ascii escapes from log in tail page and emails 2011-06-10 09:53:15 +00:00
Rob Vermaas
259d163ec9 clean up build page for build that failed with result 2011-06-10 07:36:30 +00:00
Rob Vermaas
c4130a8161 Hydra/64: Leaving number of builds empty gives DBIx error 2011-05-16 08:03:06 +00:00
Eelco Dolstra
adbba3bbcb * me.id -> build.id. 2011-04-20 08:57:55 +00:00
Rob Vermaas
2f215aac4b add tracker html code via HYDRA_TRACKER 2011-04-19 12:00:54 +00:00
Rob Vermaas
a8b3ebd514 make logo configurable via HYDRA_LOGO env var 2011-04-18 08:21:27 +00:00
Rob Vermaas
d4c96a47c9 qualify order by column 2011-04-18 08:10:10 +00:00
Rob Vermaas
fca3019c7b qualify ordery_by clauses when necessary, remove unnecessary order_by's, reported by Ludo, resulted in errors in sqlite 2011-04-01 07:40:06 +00:00
Rob Vermaas
f3f2c5683f Hydra/62 fix, broken nar download 2011-03-23 13:03:40 +00:00
Ludovic Courtès
7b1d87fde9 fetchInputGit: Populate TopGit branches when on a topic branch. 2011-03-22 22:21:19 +00:00
Rob Vermaas
1df83d52f8 fix bug reported by ludo (log in, non-admin) on project overview page 2011-03-22 08:51:15 +00:00
Rob Vermaas
d719b0480f hydra: run nix-prefetch-git on local clone of git repo 2011-03-16 16:03:01 +00:00
Rob Vermaas
8f35d03bca use NIX_*_DIR env vars when defined 2011-03-16 13:08:12 +00:00
Rob Vermaas
413d49342d fixed bug when updating user when no roles were selected, changed change-password link 2011-03-15 14:57:05 +00:00
Rob Vermaas
edbfc781d0 qualify id column 2011-03-15 13:54:43 +00:00
Rob Vermaas
53c48e4d7d qualify id column in queries 2011-03-14 14:05:32 +00:00
Ludovic Courtès
f57f91f9ff Change fetchInputGit' to do git clone -b BRANCH' instead of `git clone'.
Suggested by Vladimír Čunát <vcunat@gmail.com>.
2011-03-10 15:06:54 +00:00
Rob Vermaas
92d547f4e5 do not check username, as you are not allowed to change it 2011-03-08 07:23:28 +00:00