Commit Graph

2904 Commits

Author SHA1 Message Date
841e03ecba Hack to render empty lines in logs correctly 2013-04-02 23:40:19 +02:00
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
94984270b0 Pretty log: Number lines and make them linkable 2013-04-02 11:25:46 +02:00
b8369a6a5f Put build status in front of the notification mail subject 2013-04-02 10:40:50 +02:00
16dbec332d Postgresql 8.x needs as for column. 2013-04-01 20:18:00 -04:00
61405ec58a hydra-eval-jobs: Use function argument default values 2013-03-29 01:14:24 +01:00
d734b435fa Remove the link for creating views since they're deprecated 2013-03-29 00:59:48 +01:00
ee5b762919 Disable account creation for now 2013-03-28 11:56:12 +01:00
f3aa48978e hydra-eval-guile-jobs: Allow use of the installed Guix.
* src/script/hydra-eval-guile-jobs.in: Leave GUILE_LOAD_PATH and
  GUILE_LOAD_COMPILED_PATH unchanged.
2013-03-27 00:07:57 +01:00
9a9f37f209 hydra-eval-guile-jobs: Adjust to multiple-output format.
This is a followup to commit
10882a1ffd ("Add multiple output
support").

* src/script/hydra-eval-guile-jobs.in (job-evaluations->sxml): Return
  several `output' tags in the body, and remove the `outPath' attribute
  of `job'.
2013-03-27 00:07:57 +01:00
9da89dd32b hydra-eval-guile-jobs: Adjust to <license> objects.
* src/script/hydra-eval-guile-jobs.in (job-evaluations->sxml): Output
  the license name, not the external representation of <license>
  objects.
2013-03-27 00:07:57 +01:00
5ffc925ae7 hydra-queue-{runner,evaluator}: don't clutter the system log with debug messages 2013-03-26 11:03:15 +01:00
52a9f1a14e Use get_column for 'as' column (max_stoptime). 2013-03-24 18:50:17 +01:00
03189bf62b Implemented quoted strings support in hydra-build-products to allow file names with spaces + testcase 2013-03-20 18:05:21 +01:00
50434d76c2 Fix rendering of jobset inputs 2013-03-19 16:14:47 +01:00
c1aefc4c41 Update bootstrap to 2.0.3
This makes the navbar collapse properly on small screens.
2013-03-19 00:15:12 +01:00
93f4a26058 Don't always include "Hydra" in the logo part.
This partially reverts 67986b03fa.
2013-03-15 11:23:00 +01:00
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
c96e427ec0 Log segfaults from the evaluator 2013-03-14 17:39:24 +01:00
152c392198 Whoops 2013-03-07 10:52:31 -05:00
6d131719be Respect SystemTypes if defined 2013-03-05 18:01:44 +01:00
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
5b6b9d37f0 Add a button to compare a jobset eval against other jobsets
So now "?compare=<jobset name>" is no longer a hidden feature!

P.S. Encountered this wonderful TemplateToolkit brainfuck again: if
you want to get the number of rows in (say) project.jobsets, you can't
say "project.jobsets.size".  That will *usually* give the right
result, except that if there is only one row in project.jobsets, it
will evaluate to 3.  Instead you have to use "project.jobsets_rs.count".
2013-03-05 17:41:50 +01:00
fe7e0ff1f4 Show inputs and input changes on the jobset eval page 2013-03-05 17:41:50 +01:00
71d020735b Remove now-unused SystemTypes table 2013-03-04 17:46:37 -05:00
d764c135ce hydra-queue-runner: Use nix.machines instead of the SystemTypes table to determine how many build jobs are allowed per system type.
Note that on machines that support multiple system types, EACH system type gets the full number of build slots, which is almost certainly not what we want.
2013-03-04 17:44:19 -05:00
233e485a55 Remove the BuildMachines and BuildMachinesSystemTypes tables 2013-03-04 16:32:16 -05:00
232170e301 Remove all entry points to modify machines 2013-03-04 16:05:50 -05:00
170c7c98d0 machines: Read /etc/nix.machines instead of using the BuildMachines table 2013-03-04 16:03:04 -05:00
f9426f365b machine-status: Read /etc/nix.machines instead of using the BuildMachines table 2013-03-04 15:37:20 -05:00
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
f831287d4b Add font for the captcha
Taken from http://www.thibault.org/fonts/staypuft/.
2013-03-04 12:16:13 +01:00
e8cbcb50ac Add user registration 2013-02-27 18:33:47 +01:00
180068605a Active build steps: Make the rows clickable 2013-02-26 19:12:10 +01:00
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
1007735364 Render links to changed input builds
Also, use get_column('dependency') instead of dependency.id to prevent
an expensive row fetch.
2013-02-26 18:55:59 +01:00
56a62c3d88 Make jobset deletion consistent with project deletion 2013-02-26 17:36:49 +01:00
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
eea3846754 After editing a jobset, push it to the front of the evaluation queue 2013-02-26 16:10:36 +01:00
96e24fcf24 Tweaks 2013-02-26 16:04:33 +01:00
5462be23d5 Don't show duration of unfinished builds 2013-02-26 16:01:00 +01:00
2a3e832fc4 Add some margin about h3 elements 2013-02-26 16:00:46 +01:00
4b70be6753 Fix same system inputs 2013-02-26 15:51:56 +01:00
5a0054f38c Fix adding jobset inputs 2013-02-26 15:45:34 +01:00
1e338e7958 api/push: Don't barf on non-existent jobsets 2013-02-26 01:46:19 +01:00
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
11d87c6f82 Use query_params instead of params
Otherwise crazy things happen with POST requests from GitHub.
2013-02-26 00:38:18 +01:00
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
f51b93da03 Remove debug line 2013-02-25 21:18:29 +01:00
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