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
Eelco Dolstra
50434d76c2
Fix rendering of jobset inputs
2013-03-19 16:14:47 +01:00
Eelco Dolstra
c1aefc4c41
Update bootstrap to 2.0.3
...
This makes the navbar collapse properly on small screens.
2013-03-19 00:15:12 +01:00
Ludovic Courtès
93f4a26058
Don't always include "Hydra" in the logo part.
...
This partially reverts 67986b03fa
.
2013-03-15 11:23:00 +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
Shea Levy
152c392198
Whoops
2013-03-07 10:52:31 -05:00
Eelco Dolstra
6d131719be
Respect SystemTypes if defined
2013-03-05 18:01:44 +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
Eelco Dolstra
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
Eelco Dolstra
fe7e0ff1f4
Show inputs and input changes on the jobset eval page
2013-03-05 17:41:50 +01:00
Shea Levy
71d020735b
Remove now-unused SystemTypes table
2013-03-04 17:46:37 -05:00
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
Eelco Dolstra
6dbb948f1f
Job page: show queued as well as running builds
2013-02-22 12:52:11 +01:00
Eelco Dolstra
1643d90d92
Job page: Remove channel tab
2013-02-22 12:00:32 +01:00
Eelco Dolstra
0f10a37894
Fix indentation
2013-02-22 11:55:06 +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
c22d93438e
Fix adding jobset inputs
2013-02-21 18:10:06 +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
26fa9ea0ea
Add links to the project/jobset edit pages in the logical place
2013-02-21 14:19:34 +01:00
Eelco Dolstra
fec45d1f07
Remove dead code
2013-02-21 13:45:11 +01:00
Eelco Dolstra
36032e4bed
Make the info tables less compressed
2013-02-21 13:42:44 +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
5099375549
Indicate disabled/hidden projects/jobsets in the overviews
2013-02-21 11:57:48 +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
3924780eac
Tweaks
2013-02-21 01:26:29 +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
03aee6726f
Add a menu item for deleting jobsets
...
Also add bootbox for sexier dialog boxes.
2013-02-21 00:47:21 +01:00
Eelco Dolstra
176b8cab7e
Use a proper spinning wheel icon
2013-02-20 23:57:33 +01:00
Eelco Dolstra
b5273eed7a
Don't generate clashing IDs
2013-02-20 18:26:26 +01:00
Eelco Dolstra
d1e983dfc6
All/recent builds -> Latest builds
2013-02-20 18:23:49 +01:00
Eelco Dolstra
85e3f69cdd
Remove debug statement
2013-02-20 18:22:06 +01:00
Eelco Dolstra
78250581ed
There is only one channel, so drop the "(latest)" suffix
2013-02-20 18:20:16 +01:00
Eelco Dolstra
af18808ca7
Dependency tree: Revert to "repeated" links
2013-02-20 18:15:42 +01:00
Eelco Dolstra
4552117e51
Load the dependency tabs on demand
2013-02-20 18:13:20 +01:00
Eelco Dolstra
36a1015444
Show the runtime/build dependencies in the build page
2013-02-20 17:58:27 +01:00
Eelco Dolstra
11c09e4c5c
Always show the build duration (using the cached build if necessary)
2013-02-20 17:07:20 +01:00
Eelco Dolstra
aebefda6ab
Remove unnecessary Javascript code
...
Tabs are activated automatically.
2013-02-20 17:03:11 +01:00
Eelco Dolstra
b5d59c5c63
Fix indentation of build.tt
2013-02-20 17:02:07 +01:00
Eelco Dolstra
f544c63607
Formatting tweaks
2013-02-20 16:47:57 +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
656b1bd45a
Group some menu items together under a "Status" menu
2013-02-20 16:24:54 +01:00
Eelco Dolstra
c63812afa5
Fix indentation
...
Also move flashing into layout.tt.
2013-02-20 16:14:30 +01:00
Eelco Dolstra
ea9862fdc1
Give every page a consistent title
2013-02-20 15:54:33 +01:00
Eelco Dolstra
5c317fa0e9
Remove unused file
2013-02-20 15:42:40 +01:00
Eelco Dolstra
84602f9ee6
Ensure that the first tab is selected
2013-02-20 14:29:35 +01:00
Eelco Dolstra
3df9665f60
Compatibility with latest bootstrap
2013-02-20 14:06:17 +01:00
Eelco Dolstra
c2e5bec1e1
Evil CSS hackery to prevent link targets from being under the navbar
...
http://stackoverflow.com/questions/9047703/fixed-position-navbar-obscures-anchors
2013-02-20 13:56:41 +01:00
Eelco Dolstra
f550f1a1de
Revert to jQuery 1.8.3
...
1.9 removes the toggle() function which is actually useful (and used
by us).
2013-02-20 01:49:01 +01:00
Eelco Dolstra
1feca4b105
Turn repeated dependencies into hyperlinks
2013-02-20 01:28:29 +01:00
Eelco Dolstra
18da3ac397
Render the dependencies as a tree
2013-02-20 01:02:18 +01:00
Eelco Dolstra
41d7d63339
Simplify the tree implementation a bit more
2013-02-20 00:54:03 +01:00
Eelco Dolstra
1a992d170d
Factor out the tree rendering
2013-02-19 17:22:28 +01:00
Eelco Dolstra
4266632eb0
Simplify the log tree implementation a bit
...
In particular use the :last-child selector, which is non-standard but
supported by all major browsers.
2013-02-19 17:14:02 +01:00
Eelco Dolstra
8c37f46955
Update jquery/jqueryui
2013-02-19 15:22:15 +01:00
Eelco Dolstra
7b4d4f1cd7
Move <style> to hydra.css
2013-02-19 14:39:50 +01:00
Eelco Dolstra
22ed3c4847
Fix some XML well-formedness problems
2013-02-14 18:03:12 +01:00
Eelco Dolstra
5620e3c386
Fix indentation and get rid of some unnecessary whitespace in the output
2013-02-14 17:51:09 +01:00
Eelco Dolstra
2fa1a7efa7
Get rid of unnecessary [%- and -%] tags
2013-02-14 16:51:42 +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
799e5437bd
Remove unnecessary "Page generated" line
2013-02-05 14:08:20 +01: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
66c107364b
Add missing file
...
Doh!
2013-01-23 12:49:44 +01:00
Eelco Dolstra
f3d6643724
Omit the small build status icon on the build page
...
It's kinda pointless next to the big-ass icon.
2013-01-22 23:05:02 +01:00
Eelco Dolstra
ecdbce1a61
Handle active build steps of aborted builds properly
2013-01-22 23:01:29 +01: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
Eelco Dolstra
f3a274657d
Trailing whitespace
2013-01-22 12:05:33 +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
183078131a
Capture the path to `guile', when available.
2012-10-17 16:25:49 +02: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
Eelco Dolstra
5fa688acf5
Don't ignore assertion failures in getDerivation()
2012-10-04 15:24:25 -04:00
Eelco Dolstra
a4ff9b0d08
hydra-eval-jobs: Don't go into an infinite recursion
...
The function getDerivation() can return false if its argument is a
derivation. This happens if evaluating the name or system attribute
triggers an assertion. In that case, we shouldn't recurse into the
attributes of the derivation.
2012-10-04 14:31:47 -04: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
Rob Vermaas
90c9b5dd60
Do not send emails when build is cancelled/aborted. Also, ignore aborted/cancelled builds in comparing to previous build.
2012-08-06 00:00:07 +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
74fb2b37ce
Add more spacing between products
2012-07-19 00:33:02 +02:00
Eelco Dolstra
00155aa7b1
Add an icon for binary distributions
2012-07-19 00:16:22 +02: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
Rob Vermaas
544f2f2503
Removing tarball as option for build input; does not exist.
2012-07-13 13:06:55 +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
ab4f0911ce
Fix rendering of Subversion inputs in the Evaluations table
...
Broken since commit 75277311ac
.
Fixes #30 .
2012-06-04 14:55:24 +00: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
Eelco Dolstra
d1da9a8823
Escape the log tail to ensure we produce correct HTML
2012-05-23 20:14:51 +00:00
Eelco Dolstra
fdc516289c
Doh - clear $NIX_PATH properly
2012-05-23 14:44:23 -04:00
Rob Vermaas
97d41a2102
Allow project members to create jobsets, regression introduced by bootstrap make-over. Currently all logged in users see these options, however, only on performing the action the privileges are checked. Need to change that in the future.
2012-05-18 10:09:53 +02:00
Rob Vermaas
da206fdfac
Add time to evaluation error tab. Fixes #21 .
2012-05-18 10:06:55 +02:00
Rob Vermaas
b591c443b0
Keep builds of disabled jobsets that are not hidden. Fixes #18 .
2012-05-11 09:11:07 +02:00
Eelco Dolstra
8538953868
Don't write one character at a time, it's inefficient
2012-05-10 12:02:41 -04:00
Eelco Dolstra
48effa116c
Delete obsolete CSS files
2012-05-07 15:12:56 -04:00
Eelco Dolstra
7d3c1852ed
"r. " -> "r" in showing revisions
2012-05-04 17:12:45 -04:00
Rob Vermaas
0fdcd3176b
Add numbered revision id of mercurial as revCount.
2012-05-01 09:15:52 +02:00
Eelco Dolstra
8f85fe67d4
Revert sorting build products
...
Sorting the build products list fails if there are fewer than 3 build
products. This is because of extreme Template Toolkit brain damage:
it treats arrays of 0-2 elements differently in some magic way. See
e.g.
http://mail.template-toolkit.org/pipermail/templates/2011-April/011510.html
2012-04-30 22:19:38 +02:00
Rob Vermaas
df71a86183
Do not delete builds when clearing the queue. Fixes #8 .
2012-04-30 22:13:53 +02:00
Eelco Dolstra
b52018e61a
Use a span instead of a div in the pretty logs
...
Fixes #6 .
2012-04-30 21:32:53 +02:00
Rob Vermaas
eb51065a16
Making pretty printed log look normal again. Issue #6
2012-04-30 20:22:03 +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
854513be8e
I should test first
2012-04-30 17:57:13 +02:00
Eelco Dolstra
dcc570f454
Set the build status properly for failing local builds
...
If a build has ‘preferLocalBuilds = true’ (or we're not using remote
building), and the build has a non-permanent failure, then the build
status should be "Aborted" rather than "Failed". This is denoted by
an exit status of 100 from nix-store.
2012-04-30 17:15:35 +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
Eelco Dolstra
1033178728
Ensure build products are in sorted order
2012-04-27 11:23:38 +02:00
Eelco Dolstra
29b40e6418
Fix the duration on Build pages
2012-04-27 10:54:49 +02:00
Rob Vermaas
4a1a2203ac
I should sleep... grmbl
2012-04-26 09:37:48 +02:00
Rob Vermaas
3c465c3661
Revert nix-prefetch-git changes merged in earlier from Merge request #3 , which broke git describe functionality used in GNU jobsets.
2012-04-26 09:31:00 +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
966cc22131
Fix query for certain postgresql versions.
2012-04-22 08:30:48 +02: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
8f31935ffa
Handle the case where there are no builds and no previous eval
2012-04-17 12:32:44 +02:00
Eelco Dolstra
db09760e8c
Move the "Cancel build" button to the menu
2012-04-17 11:39:08 +02:00
Eelco Dolstra
ea4aba83c3
Proper styling for flash message
2012-04-17 09:36:10 +00:00
Eelco Dolstra
634d8c092f
Use <h3> for running/failed build steps
2012-04-17 09:35:37 +00: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
90e0ba2a7a
Revert changeset 4399683fa0
, make jobset options available to project members as well
2012-04-17 09:49:27 +02:00
Ludovic Courtès
4399683fa0
Reinstate the edit/clone links on the jobset page.
...
They were removed in commit 17d30cd179
.
2012-04-16 16:47:23 +02: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
Rob Vermaas
28b6ff3ed6
Add maximum nest level for input changes on build page.
2012-04-16 13:59:29 +02:00
Eelco Dolstra
1cf2a1592a
Add missing upgrade-*.sql files
2012-04-15 23:23:01 +00:00
Eelco Dolstra
ec87ad2bf2
Missing part of aaacf9eda3
2012-04-15 22:57:10 +00:00
Eelco Dolstra
aaacf9eda3
Speed up the listing of jobset evals by caching some info in the DB
...
This denormalises the database, but it's the best we can do until
PostgreSQL has materialised views.
2012-04-16 00:46:19 +02: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
1e228267be
Only show "Running build steps" if there are running build steps
2012-04-15 20:12:35 +00:00
Eelco Dolstra
2c6a38760b
Consistent capitalisation
2012-04-15 20:10:22 +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
12dd78d889
Change the "Available" link to "pretty"
...
"Available" is confusing in this context. "Pretty" denotes that this
is the pretty-printed log.
2012-04-15 18:51:34 +02:00
Eelco Dolstra
e7fa54e48e
Fix the spacing around some <h3> headers
2012-04-15 18:48:29 +02:00
Eelco Dolstra
80705c8a20
hydra-init: show SQL commands being executed
2012-04-15 18:34:32 +02:00
Eelco Dolstra
bf757f687d
Remove close button on news items since it's not persistent, so kinda useless
2012-04-15 18:31:47 +02:00
Eelco Dolstra
a633e4b361
Make the jobset eval rows clickable
2012-04-15 18:21:56 +02:00
Eelco Dolstra
6b88640457
Remove the "There are evaluation errors!", instead emphasize the presence of the tab more
2012-04-15 18:17:19 +02:00
Eelco Dolstra
101e60b03d
Nicer link to the rest of the jobset evals
2012-04-15 18:08:51 +02: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
ccc5d38976
Move Hide/Unhide links for project to toplevel menu.
2012-04-13 16:52:25 +02:00
Rob Vermaas
7f858928df
Fix hide/unhide links.
2012-04-13 16:36:45 +02:00
Rob Vermaas
fbb857bf80
Do not load charts lazily for now.
2012-04-13 14:50:48 +02:00
Rob Vermaas
320632f7f4
Renamed running to started in queue.
2012-04-13 12:55:26 +02:00
Rob Vermaas
f339f5ae85
Fix evaluate link.
2012-04-13 12:42:58 +02:00
Rob Vermaas
516a644a7f
Merge branch 'master' into bootstrap
2012-04-13 11:55:49 +02:00
Rob Vermaas
293c7d3507
update bootstrap.zip
2012-04-13 11:54:40 +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
11bf848b09
Move channel link to top menu of Project and Jobset.
2012-04-13 10:56:02 +02:00
Rob Vermaas
bf197f0d77
Remove pagers on the bottom of paginated lists.
2012-04-13 10:43:56 +02:00
Rob Vermaas
b81aa89260
Replace old logo with Nix/NixOS logo.
2012-04-13 10:33:11 +02:00
Rob Vermaas
1e7f9c8a15
Fix pager prev/next button.
2012-04-13 10:23:27 +02:00
Rob Vermaas
6b65712045
Restructure build menu
2012-04-13 10:19:15 +02:00
Rob Vermaas
9a1f38e06e
Remove comments, re-add logo.
2012-04-13 10:05:02 +02:00
Rob Vermaas
4f5327d7ed
Added running icon in queue in stead of background color.
2012-04-12 22:10:16 +02:00
Rob Vermaas
8aaa0a1a8a
Move 'keep build' and 'restart' to toplevel menu
2012-04-12 21:50:06 +02:00
Rob Vermaas
089a9c836f
Machine status page now looks much better and more consistent with rest of Hydra
2012-04-12 21:42:21 +02:00
Rob Vermaas
6853d0398a
Move 'clone build' and 'restart build' to top menu
2012-04-12 21:41:31 +02:00
Rob Vermaas
c630433b61
Move 'clone build' to top menu
2012-04-12 21:40:57 +02:00
Rob Vermaas
7886666b0b
Replace ugly link with nice small buttons
2012-04-12 21:03:59 +02:00
Rob Vermaas
72785f35aa
Some overriding of bootstrap default css
2012-04-12 21:03:25 +02:00
Rob Vermaas
06d6f5b5f7
remove header on build page
2012-04-12 20:19:52 +02:00
Rob Vermaas
5748262517
Add bootstrap.zip
2012-04-12 20:13:04 +02:00
Rob Vermaas
17d30cd179
Using twitter bootstrap for more consistent looks for Hydra
2012-04-12 20:12:07 +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
1cdc023427
Propagate URI parameters
2012-04-04 13:17:22 +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
05d03ee153
Don't use colspan=0, it doesn't work in all browsers
2012-04-04 10:33:00 +00: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
3e57cbfeb8
User color instead of a big animated GIF to indicate whether a build is running
2012-04-02 21:07:49 +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
d33fbad438
Unpack jQuery etc. in the build tree for easier testing
2012-04-02 11:15:48 +00:00
Eelco Dolstra
0aae52bfcc
In build tables, hide the project, jobset and/or job name if they're constant
2012-04-02 13:12:39 +02:00
Eelco Dolstra
d8f8143cc2
No wonder our disk was filling up
2012-03-26 17:13:50 +02:00
Rob Vermaas
4d4e1986e8
remove delete jobset button until we actually have implemented the action properly
2012-03-26 14:39:50 +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
Ludovic Courtès
2b68e41ee4
Actually add SQL files to the distribution.
2012-03-13 17:49:18 +01:00
Ludovic Courtès
ace94192ac
Update the list of SQL files to be installed.
...
This fixes `hydra-init', which would otherwise not find `upgrade-*.sql',
thus skipping the update altogether.
2012-03-13 17:45:14 +01:00
Eelco Dolstra
dae5032c1c
I'm stupid
2012-03-13 13:33:19 +01:00
Eelco Dolstra
c844b9f09a
Remove the global Job status and Errors links
2012-03-13 13:31:36 +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
13f4636436
hydra-evaluator: handle the case where there is no previous jobset eval
2012-03-12 21:13:28 +01:00
Eelco Dolstra
a4cda5e337
Don't use the Switch module
...
It was removed in Perl 5.14.
2012-03-12 20:47:30 +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
6526d4a65f
hydra-build: only send email if the status differs from the previous build
...
This isn't perfect because it doesn't handle the case where a
previous build hasn't finished yet. But at least it won't send mail
for old builds that fail while a newer build has already succeeded.
2012-03-12 20:47:29 +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
bc82a82593
Fix a race condition in hydra-update-gc-roots
...
Since it read the actual roots after determining the set of desired
roots, there was a possibility that it would delete roots added by
hydra-evaluator or hydra-build while hydra-update-gc-roots was
running. This could cause a derivation to be garbage-collected before
the build was performed, for instance. Now the actual roots are read
first, so any root added after that time is not deleted.
2012-03-12 20:47:29 +01:00