Commit graph

1387 commits

Author SHA1 Message Date
Shea Levy 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
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 180068605a Active build steps: Make the rows clickable 2013-02-26 19:12:10 +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 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
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 96e24fcf24 Tweaks 2013-02-26 16:04:33 +01:00
Eelco Dolstra 5462be23d5 Don't show duration of unfinished builds 2013-02-26 16:01:00 +01:00
Eelco Dolstra 2a3e832fc4 Add some margin about h3 elements 2013-02-26 16:00:46 +01:00
Eelco Dolstra 4b70be6753 Fix same system inputs 2013-02-26 15:51:56 +01:00
Eelco Dolstra 5a0054f38c Fix adding jobset inputs 2013-02-26 15:45:34 +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 f51b93da03 Remove debug line 2013-02-25 21:18:29 +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 ddcb9f1d5d Handle the case where a jobset has never been evaluated 2013-02-25 19:38:11 +00:00
Eelco Dolstra 65db523e46 Fix duplicate function name 2013-02-25 19:01:43 +01:00
Eelco Dolstra 24de044c55 hydra-evaluator: Always pick the jobset that hasn't been evaluated longest 2013-02-25 18:47:54 +01:00
Eelco Dolstra c30cee55dd Send ETag and Expires headers 2013-02-25 18:18:05 +01:00
Eelco Dolstra fb643cd971 Install bootbox 2013-02-23 17:01:43 +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 67986b03fa Fix logo size
Also, always include the text "Hydra" in the navbar.
2013-02-23 14:31:30 +00:00
Eelco Dolstra 77fa6d2646 Set mouse pointer to indicate you can click on rows 2013-02-22 18:13:18 +01:00
Eelco Dolstra c0f9c9b4aa Make some more tables clickable 2013-02-22 18:11:29 +01:00
Eelco Dolstra 9422c9d2a7 Optimise clickable rows
Set a click handler on the table instead of on every row.  This should
be faster on large tables.  Also, it's easier to use: you just set the
clickable-rows class on the table, and the row-link class on the <a>
element that contains the "main" link of the row.
2013-02-22 18:05:04 +01:00
Eelco Dolstra bd7be1cb84 Remove obsolete CSS classes 2013-02-22 17:11:10 +01:00
Eelco Dolstra f5a2859ce2 Show current query in the search box 2013-02-22 16:44:39 +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 961feedf4e Show an error message if tab loading fails 2013-02-22 14:17:14 +01:00
Eelco Dolstra 47d2ee0dab Generalize lazy tabs 2013-02-22 13:36:15 +01:00
Eelco Dolstra e2e973578f Some unnecessary job names 2013-02-22 13:17:07 +01:00
Eelco Dolstra 5d3494011f Job page: Put latest builds on top
Also, rename the "Latest builds" tabs to prevent confusion.
2013-02-22 13:00:40 +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