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
Rob Vermaas
c9929761bd
hydra: cannot change username, also update fullname
2011-03-07 16:46:46 +00:00
Rob Vermaas
107a879adc
if no emailoverride specified, use empty string
2011-03-07 16:02:23 +00:00
Rob Vermaas
5c187a0640
if no emailoverride specified, use empty string
2011-03-07 15:55:37 +00:00
Rob Vermaas
586f131ebd
use HYDRA_DATA/hydra.conf as default location for hydra.conf
2011-03-07 15:06:32 +00:00
Rob Vermaas
f95ded45a5
revert commit 26130, use hardcoded default value for HYDRA_DATA (/var/lib/hydra)
2011-03-07 12:30:27 +00:00
Rob Vermaas
0439e7efb7
do not install .in file
2011-03-07 08:04:10 +00:00
Ludovic Courtès
bf927b3180
Set a default value for `getHydraPath'.
2011-03-02 15:17:03 +00:00
Rob Vermaas
b59ca01e40
pass svn/bzr revisions as integers
2011-02-10 10:35:26 +00:00
Rob Vermaas
c2a7de45a5
properly pass bazaar inputs
2011-02-09 12:54:29 +00:00
Eelco Dolstra
2931689dcf
* Ran update-dbix.
2011-02-09 10:19:36 +00:00
Rob Vermaas
e7c203a3b4
typo
2011-02-08 13:37:50 +00:00
Rob Vermaas
c645fa55ff
initial bzr support
2011-02-08 13:11:08 +00:00
Rob Vermaas
559ab9c97a
automatic reload of tail log when build is running
2011-02-02 09:00:52 +00:00
Rob Vermaas
f35c9a4574
hydra: put contents links into html, add links to files from contents page
2011-01-04 12:50:59 +00:00
Rob Vermaas
496c22dc0f
hydra: remove old clear eval cache option
2010-12-20 09:53:01 +00:00
Rob Vermaas
6bb569387a
hydra: remove debug statement
2010-12-07 13:26:31 +00:00
Rob Vermaas
4fdd011b2d
hydra: fixed missing argument to restartbuild function
2010-12-07 13:25:29 +00:00
Rob Vermaas
cd7742f610
hydra: added some user admin
2010-12-03 09:40:25 +00:00
Rob Vermaas
6d6f43fa0c
hydra: factored out build restart and
2010-12-03 08:40:34 +00:00
Eelco Dolstra
a75a12e819
* Include the system type in manifests as a hint for the
...
binary patch generator.
2010-11-26 14:34:58 +00:00
Eelco Dolstra
a93e272364
* Add a NarSize field to Hydra manifests. This allows nix-env
...
to predict how much disk space a package will require.
* Compute the output / closure size using the info stored in the
Nix database (rather than doing a slow "du").
2010-11-19 15:44:20 +00:00
Rob Vermaas
dcdbb1d814
hydra: store logfile/output path/closure size
2010-11-11 11:03:50 +00:00
Rob Vermaas
0f1c580731
hydra: order machines by enabled/disabled, add green and red color for enabled/disabled
2010-10-21 14:37:03 +00:00
Rob Vermaas
431656546e
hydra: disallow robots.txt for root and project all builds page
2010-10-19 08:34:13 +00:00
Rob Vermaas
42750364de
hydra: show all running builds on job page, in stead of only showing the 'current' builds that are running
2010-10-18 12:06:59 +00:00
Rob Vermaas
df921a4fd0
hydra: add comment that file is generated by hydra to /etc/nix.machines
2010-10-18 11:05:36 +00:00
Rob Vermaas
bf9596674a
hydra: missing perl modules
2010-10-18 10:18:07 +00:00
Rob Vermaas
766f44517e
hydra: missing perl module
2010-10-18 10:03:53 +00:00
Rob Vermaas
a391c78aaf
hydra: buildmachine disabled by default, add some default constraints
2010-10-13 12:51:29 +00:00
Rob Vermaas
ef1efa80e4
hydra: missing property
2010-10-13 12:35:34 +00:00
Rob Vermaas
398993f688
hydra: add some admin for adding/enabling/etc build machines
2010-10-13 12:32:57 +00:00
Rob Vermaas
0491ea3455
hydra: catalyst plain view doesn;t work with data => 0, so put some whitespace around it
2010-10-08 10:45:40 +00:00
Rob Vermaas
c37b90ee3e
hydra: use autoconf/-make
2010-09-30 14:29:15 +00:00
Rob Vermaas
673ef76020
fix redirect after login
2010-09-29 11:01:48 +00:00
Rob Vermaas
822ca9c29e
hydra: in jobstatus pages, allow maintainer query argument to show only the packages you are maintaining
2010-09-08 06:37:19 +00:00
Rob Vermaas
526ffb7eef
hydra: missing argument
2010-09-07 15:12:41 +00:00
Rob Vermaas
05ebf34441
hydra: do not use refs/heads while checking for latest commit in branch
2010-09-07 14:56:53 +00:00
Rob Vermaas
d3f0c3f67d
hydra: export addBuildProducts
2010-09-07 12:31:11 +00:00
Rob Vermaas
38d50806b9
hydra: if evaluator sees cached build, also add the buildproducts
2010-09-07 11:29:52 +00:00
Rob Vermaas
6d74064999
add /status to robots.txt
2010-09-03 09:17:54 +00:00
Rob Vermaas
4c63ccb6bc
hydra: moves jobsetOverview sub
2010-09-03 09:17:52 +00:00
Rob Vermaas
ce34776992
added some json responses
2010-09-02 12:21:56 +00:00
Rob Vermaas
79168ae722
hydra: missing uses
2010-09-02 09:00:06 +00:00
Rob Vermaas
c5ceece093
hydra: moved getbuildlog
2010-09-02 08:56:29 +00:00
Rob Vermaas
d7487ab0d9
hydra: at evaluation, check if path is already built, and mark as built in stead of adding to the queue.
2010-09-01 10:50:57 +00:00
Eelco Dolstra
fbeb5abc69
2010-08-31 15:37:50 +00:00
Eelco Dolstra
0caf68c638
* Disambiguate.
2010-08-31 15:30:20 +00:00
Eelco Dolstra
f6715fa0ef
* Added a status page that shows all the currently executing build steps.
...
* Store the system type in the BuildSteps table.
* Don't query the queue size when serving static pages. This prevents
two unnecessary database queries per request.
2010-08-31 15:27:46 +00:00
Eelco Dolstra
2a69745a88
* Store the name of the machine that performed a build step in the
...
BuildSteps table.
2010-08-31 14:08:59 +00:00
Rob Vermaas
c174998a0c
hydra: when restarting a build, remove possible failed dependencies from the failed-cache.
2010-08-11 06:43:59 +00:00
Rob Vermaas
f7ce960b96
hydra: make sure viewing logs works when logs are bz2'd
2010-08-10 13:11:41 +00:00
Rob Vermaas
9d9bf8b264
hydra: make nr of build to keep configurable per jobset
2010-08-10 06:48:45 +00:00
Rob Vermaas
23886606d0
Hydra/40: Last 5 builds on job page incorrect
2010-08-02 12:32:15 +00:00
Rob Vermaas
dda064bc8c
hydra: nar was replaced, so also move in robots.txt
2010-07-30 10:17:47 +00:00
Rob Vermaas
0802559b03
hydra: do not perform git clone every time. in stead work on local clone and pull
2010-07-28 12:48:29 +00:00
Rob Vermaas
812689e523
use local clone to limit bandwidth usage
2010-07-27 18:06:47 +00:00
Rob Vermaas
6d028a8d43
missing file
2010-07-27 16:24:21 +00:00
Rob Vermaas
005e088637
missing case for hg input type
2010-07-27 16:17:06 +00:00
Rob Vermaas
125cf1dc5b
missing case for hg input type
2010-07-27 16:09:35 +00:00
Rob Vermaas
06e0e80591
bug fix
2010-07-27 11:21:21 +00:00
Rob Vermaas
d6131fba50
initial support for mercurial
2010-07-27 11:14:24 +00:00
Rob Vermaas
caa0f1a255
Hydra: In case of failure, also show changes between last succesful build and the first failed build after this
2010-07-14 07:31:14 +00:00
Rob Vermaas
33ef55815e
Hydra/33: 'Sign in' should return to the referring page
2010-07-06 07:27:55 +00:00
Eelco Dolstra
e35f0005e6
* Move NARs from the NixChannel controller to the Root controller and
...
drop the "/nix/store". I.e. instead of
http://hydra.nixos.org/jobset/nixpkgs/trunk/channel/latest/nar/nix/store/99djmii6l4yw9gn07zxqabh8z58pp84c-libmspack-0.0.20040308alpha.drv
we now have
http://hydra.nixos.org/nar/99djmii6l4yw9gn07zxqabh8z58pp84c-libmspack-0.0.20040308alpha.drv
The main reason is that this is much faster, since we don't need to
get all the channel data (which isn't used anyway for NAR
generation). This speeds up downloading a NAR from the Nixpkgs
channel by > 2 seconds.
* Drop "Hydra::View::" from view names to get rid of an ugly warning.
2010-06-22 12:00:19 +00:00
Eelco Dolstra
dfd8b4406d
2010-06-21 23:48:25 +00:00
Rob Vermaas
5f7ebaad37
added hide feature for project/jobset
2010-06-04 14:43:28 +00:00
Rob Vermaas
b25761d7b2
hydra: added missing fields to query
2010-06-03 09:17:24 +00:00
Eelco Dolstra
e2e4b49b98
* Pass `-j 1' to hydra_eval_jobs to ensure that it can make progress
...
even when all the remote build slots are in use. The evaluator can
cause builds if Nix expressions import derivations (e.g. in
pkgs/build-support/vm to compute the RPM/Deb closures). If there
are no free build slots, the evaluator can hang for a long time.
2010-06-01 11:17:02 +00:00
Rob Vermaas
bb7f82840b
Hydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet)
2010-05-26 08:03:59 +00:00
Rob Vermaas
9c42f60f08
Hydra: Allow all builds to be restarted.
2010-05-26 08:03:44 +00:00
Rob Vermaas
75bb591c03
Hydra/32: Add option to force evaluation of a certain jobset via web interface (for admins only)
2010-05-18 11:37:01 +00:00
Rob Vermaas
5e2c683f5b
Hydra/29: Added timeout to svn/git checkouts, job evaluation
2010-05-18 11:00:34 +00:00
Rob Vermaas
56f05f2bdf
Hydra/26: Go back to using "svn export" as default for svn, added svn-checkout type for jobset which need .svn dirs. export is much more efficient
2010-05-11 11:37:30 +00:00
Rob Vermaas
001113f7f9
Hydra/28: Rename "scheduler" to "evaluator"
2010-05-11 11:10:03 +00:00
Rob Vermaas
368c4cd813
refactored admin controller, using chains, to avoid using requireadmin on each endpoint
2010-04-27 14:11:08 +00:00
Rob Vermaas
7a79d17a36
added newsitems, added some admin options to clear various caches.
2010-04-27 13:29:08 +00:00
Rob Vermaas
a9c2880cf6
Hydra/25: At job pages, show the hash of the output
...
* added hash of output path to the information tab on build page in stead
2010-04-27 07:55:19 +00:00
Rob Vermaas
85928a4222
Hydra/20: Jobset clone feature
2010-04-23 11:20:40 +00:00
Rob Vermaas
2ef90804c6
Hydra/22: on job page, 'finished builds' shows nothing for old (non-current) jobs
2010-04-23 08:17:15 +00:00
Rob Vermaas
5d0bf48aa0
add some stats to jobsets in project view
2010-03-19 08:36:31 +00:00
Rob Vermaas
e2be1adc22
hydra: add status icon per jobset on project page
2010-03-18 15:59:24 +00:00
Rob Vermaas
ef34de7603
order jobset in project view
2010-03-18 15:15:14 +00:00
Eelco Dolstra
abfd6507b2
* Escape the outPath in the generated nixexpr.tar.bz2 in channels, because
...
store paths with `=' in them (such as
/nix/store/chj5wrbmi43zjx77svlr4lgnrqi9pwfy-guile-CPPFLAGS=-DSCM_DEBUG=1-1.9.8.113)
broke it.
2010-03-17 16:49:52 +00:00
Rob Vermaas
161b88cfd0
* hydra: on git ls-remote add refs/heads/ prefix to branchname to avoid other branches called master (or $branchname)
2010-03-15 10:02:30 +00:00
Rob Vermaas
2278aa87eb
* hydra: robots.txt, also disallow logs for the actual builds
2010-03-12 08:50:56 +00:00
Rob Vermaas
1c4585dae3
* hydra: project members can do stuff that the owner can do
2010-03-10 10:02:04 +00:00
Eelco Dolstra
f816a5a28d
* Only include the system type in URLs if there are multiple jobs with
...
the same name.
2010-03-07 11:38:39 +00:00
Eelco Dolstra
b8a78b2c3f
* Support linking to the latest job in a view for a specific platform, e.g.
...
http://.../view/nixos/tested/latest/iso-minimal-i686-linux .
2010-03-07 11:24:06 +00:00
Eelco Dolstra
72c44ab0ae
* Allow dots in job names in views.
2010-03-05 18:08:53 +00:00
Eelco Dolstra
70466156e6
* In views, support selecting a job that doesn't depend on the
...
primary job, but is in the same jobset.
2010-03-05 17:20:04 +00:00
Eelco Dolstra
3501fa6465
* Cleanup.
2010-03-05 16:37:24 +00:00
Eelco Dolstra
da25c963eb
* Clean up indentation.
2010-03-05 16:16:49 +00:00
Eelco Dolstra
7daca03e78
* Store jobset evaluations in the database explicitly. This includes
...
recording the builds that are part of a jobset evaluation. We need
this to be able to answer queries such as "return the latest NixOS
ISO for which the installation test succeeded". This wasn't previously
possible because the database didn't record which builds of (say)
the `isoMinimal' job and the `tests.installer.simple' job came from
the same evaluation of the nixos:trunk jobset.
Keeping a record of evaluations is also useful for logging purposes.
2010-03-05 15:41:10 +00:00
Eelco Dolstra
60ad8bd6d1
* Remove a debug statement.
2010-03-05 13:48:41 +00:00
Rob Vermaas
b75de713e5
* hydra: reinstate proper error for non existing build, Hydra/9
2010-03-05 13:03:41 +00:00
Eelco Dolstra
6fe9e1b03b
* Cannot call isValidPath on a logfile. This happened to work because
...
isValidPath bypassed the Nix store API.
2010-03-05 10:53:49 +00:00
Eelco Dolstra
b9c1f9aca7
* Call computeFSClosure() directly.
2010-03-04 14:15:13 +00:00
Eelco Dolstra
00b2f7c141
* Don't access /nix/var/nix/db directly but use the Nix Perl bindings.
2010-03-04 13:25:12 +00:00
Rob Vermaas
052ce8c577
* hydra: only show current jobs in status overview of jobset page
2010-03-01 10:10:20 +00:00
Rob Vermaas
ede90a9ef0
* hydra: alphabetical order of systems in status overview
2010-02-26 09:14:49 +00:00
Rob Vermaas
ba60d69e06
missing file
2010-02-26 07:38:54 +00:00
Rob Vermaas
7208f79828
inital version of links to diff in scm
2010-02-25 15:32:56 +00:00
Rob Vermaas
31f68756c5
fix wrong dbix:class:loader generation
2010-02-25 10:22:03 +00:00
Rob Vermaas
4dccd3c620
generated schema with new dbix class schema loader, grrrrrr
2010-02-25 09:50:04 +00:00
Rob Vermaas
8678da61ef
* hydra: order project list on name
2010-02-25 09:02:48 +00:00
Rob Vermaas
a1c7e359be
* hydra: indentation and fixed duplicate key in cachedgitinputs bug
2010-02-24 08:09:58 +00:00
Rob Vermaas
529a6cf6eb
* hydra: buildpage, show changes since last build/successful build
2010-02-22 13:21:34 +00:00
Rob Vermaas
fb8ab7a574
* hydra: download closure now makes closure of outpath in stead of useless drvpath
2010-02-18 15:09:13 +00:00
Eelco Dolstra
12edc4b8e2
* Speed up the jobstatus query a little bit.
2010-02-12 20:51:24 +00:00
Eelco Dolstra
d8cc0bbb5d
* Make the "latest succeeded" query (used by the "latest" channel)
...
faster, from about 4.5s to 1.0s for the global "latest" channel.
Note that the query is only fast if the "IndexBuildsOnJob" and
"IndexBuildsOnJobAndIsCurrent" indices are dropped - if they exist,
PostgreSQL will use those instead of the more efficient
"IndexBuildsOnJobFinishedId" index. Looks like a bug in the planner
to me...
2010-02-12 14:49:32 +00:00
Rob Vermaas
9cebf03a45
* hydra: queue stats (nr running builds / nr queued builds)
2010-02-12 10:19:24 +00:00
Rob Vermaas
68c60b4c66
* hydra: added index, actual build time (buildstep with same outpath, so without deps) of the build
2010-02-11 12:23:46 +00:00
Rob Vermaas
3753ccb1ce
* hydra: make chart zoomable and clickable
2010-02-11 09:18:30 +00:00
Rob Vermaas
f44128275c
* hydra: added initial version of build graph
2010-02-10 10:15:09 +00:00
Eelco Dolstra
a7d132ff2a
* Escape +',
=' and `?' in NAR URIS in manifests. Otherwise you get
...
an incorrect URI that gives a 410 error.
2010-02-09 16:11:35 +00:00
Eelco Dolstra
6dd53655a5
* Omitting the template name doesn't work everywhere.
2010-02-09 15:51:33 +00:00
Eelco Dolstra
6c35801173
* Shut up a harmless warning about an uninitialised variable.
2010-02-09 14:10:16 +00:00
Eelco Dolstra
9409d20f39
* Make the "all" page faster by not doing four identical `select
...
count(*) ...' queries. The reason for this is that
my $nrBuilds = scalar($c->stash->{allBuilds}->search({finished => 1}));
doesn't return an integer, but some magical code reference that when
evaluated performs the query and returns an integer. So every use
of $nrBuilds in all.tt caused another query. OTOH using ...->count
causes only one query.
However count(*) still involves a full table scan, so it's still
suboptimal.
2010-02-09 14:08:45 +00:00
Eelco Dolstra
59e4f65298
* Speed up the jobset index page. Especially the query to get the
...
inactive jobs was quite slow.
* "IndexBy" -> "IndexOn".
2010-02-09 13:47:20 +00:00
Rob Vermaas
4abdf86bd4
hydra: remove print stmt
2010-02-09 13:45:38 +00:00
Rob Vermaas
090a648020
hydra: minor improvements in hydra ui
2010-02-09 13:43:53 +00:00
Eelco Dolstra
fabc8e4774
* Disable the statistics on the project, jobset and job pages for now
...
because they take too much time to compute.
2010-02-09 12:35:20 +00:00
Rob Vermaas
88ffadb70e
* hydra: handle case where logfile is empty
2010-02-08 11:46:39 +00:00
Rob Vermaas
f57b40101a
hydra: error on buildpage for queued build
2010-02-06 07:15:31 +00:00
Rob Vermaas
348db7600c
* hydra: on build page, show tail of log on first tab when buildstatus == 1 (this specific build failed)
2010-02-05 20:32:07 +00:00
Eelco Dolstra
045d921f7d
* Argh.
2010-02-05 20:24:20 +00:00
Eelco Dolstra
a22946abe7
* When a store path has disappeared for some reason,
...
../nix/<storepath> should return a HTTP error. Otherwise,
mirror-channel.pl will happily mirror the error page.
2010-02-05 20:08:41 +00:00
Eelco Dolstra
9b25d7b299
* A `nix-build' Hydra product must be a directory.
2010-02-05 20:07:49 +00:00
Rob Vermaas
61ad98f982
revert change to dbix::class generated code
2010-02-05 19:41:26 +00:00
Rob Vermaas
9dba2127cb
* hydra: 'new' UI for project/jobset/job/build
2010-02-05 14:48:22 +00:00
Ludovic Courtès
e1f45498c9
Set $NIX_PREFETCH_GIT_DEEP_CLONE.
2010-01-25 13:26:37 +00:00
Rob Vermaas
eec5838a7e
* hydra: add deps list to pages not to be indexed by google etc
2010-01-22 14:44:09 +00:00
Rob Vermaas
b615135825
* hydra: add dependency list with links to logfiles
2010-01-22 13:31:59 +00:00
Rob Vermaas
c791485099
* hydra: show queue optimization
2010-01-22 10:29:54 +00:00
Eelco Dolstra
4b0bc65cbb
* Add derivations and all build-time dependencies of a build to the
...
Hydra channels. This includes sources.
2010-01-19 16:47:32 +00:00
Eelco Dolstra
a2a041303f
* Handle the case where there is no cached build step that produced
...
outpath. This can happen if the build was performed outside of
Hydra.
2010-01-19 16:35:16 +00:00
Rob Vermaas
3b504b2370
* hydra: added variant of build input type, 'build output (same system)' to allow better continous integration in one jobset for multiple system. it makes sure that the system of the build that is passed as input for a job has the same system as the job.
2010-01-19 14:15:31 +00:00
Rob Vermaas
63db13be3f
hydra: in case of cached build, add link to build that built the storepath
2010-01-15 14:18:12 +00:00
Rob Vermaas
13c8953918
* removed stats from home page. will make global stats page later on
2010-01-11 10:07:10 +00:00
Rob Vermaas
fe8a376864
show current builds on job page
2010-01-08 11:50:55 +00:00
Rob Vermaas
67f468e0a3
- adapted ui for hydra, more in line with nixos.org website
2010-01-07 14:25:12 +00:00
Rob Vermaas
8a01999220
hydra
...
* remove trailing spaces from email notification
* option to disable email notification for jobset
2010-01-06 13:07:59 +00:00
Rob Vermaas
044edfb764
* email notification of evaluation errors to project owner (if desired)
2009-12-18 12:07:45 +00:00
Ludovic Courtès
d6416ada4e
Set $NIX_PREFETCH_SVN_LEAVE_DOT_SVN to 1.
2009-12-03 15:03:06 +00:00
Rob Vermaas
e322cb1304
first try for timeline of last 24 hours in hydra
2009-12-01 19:17:38 +00:00
Rob Vermaas
f99b1ee9b1
first try for timeline of last 24 hours in hydra
2009-12-01 19:15:09 +00:00
Rob Vermaas
42c7bb57e8
* hydra: enable pp'ing of logs for bigger files again
2009-11-25 09:39:03 +00:00
Rob Vermaas
94634773b1
support git branches as input in stead of only master branch
2009-11-23 13:38:27 +00:00
Rob Vermaas
06dc6d8f86
* for git inputs, check latest revision of branch (defaults to master for now), if there is change, only use input if last checkout was > hour ago.
2009-11-19 08:15:49 +00:00
Ludovic Courtès
2b5ef66111
Ask nix-prefetch-git' to leave
.git' in the output.
2009-11-18 16:42:35 +00:00
Ludovic Courtès
cdfc96194c
Use $NIX_PREFETCH_GIT_CHECKOUT_HOOK to produce a `.git-version' file.
2009-11-18 16:25:47 +00:00
Rob Vermaas
f55e0444c9
project with 0 build resulted in error
2009-11-18 12:59:58 +00:00
Rob Vermaas
40920935fc
remove revision from cached cvs inputs, and added missing files
2009-11-17 15:24:51 +00:00
Rob Vermaas
2fb05b34bf
add support for git as jobinput
2009-11-17 15:16:41 +00:00
Eelco Dolstra
7eda090e74
* Prevent repeated evaluation of a jobset with the same inputs. This
...
should make the Hydra scheduler a lot less CPU-intensive, since it
won't run hydra_eval_jobs all the time.
2009-11-17 13:55:22 +00:00
Eelco Dolstra
2bcedde1c8
* Sort releases.
2009-11-04 17:17:44 +00:00
Eelco Dolstra
3e5e49debd
* Allow a view result to be saved as a release.
2009-10-27 15:31:26 +00:00
Eelco Dolstra
9aa70716ad
2009-10-26 17:03:48 +00:00
Eelco Dolstra
e25f112b82
* Implemented the clone feature.
2009-10-26 17:01:23 +00:00
Eelco Dolstra
e1373fa1c3
* Refactoring: move fetchInput out of hydra_scheduler into a separate
...
module, since Controller/Build.pm needs it to create a new build.
2009-10-26 15:39:14 +00:00
Eelco Dolstra
57cc6ceca6
* UI for cloning builds (not functional yet).
2009-10-26 14:30:42 +00:00
Eelco Dolstra
cb2493eca9
* Store the jobset's nixExprPath and nixExprInput fields in a build to
...
allow it to be cloned (re-executed with modified inputs) later and
to provide some traceability.
2009-10-26 13:33:48 +00:00
Eelco Dolstra
1038e2ebee
* Allow the description of a release member to be edited, and to
...
delete a release member.
2009-10-26 12:04:12 +00:00
Eelco Dolstra
578e37d55c
* Only non-garbage collected builds can be added to a release.
2009-10-26 10:46:57 +00:00
Eelco Dolstra
f984eed77b
* Align the apply/delete buttons.
2009-10-26 10:35:59 +00:00
Eelco Dolstra
7e81fbd56a
* A quick (non-Web 2.0) interface to manually add builds to a release.
2009-10-23 15:57:18 +00:00
Eelco Dolstra
a515c5fef2
2009-10-23 15:05:16 +00:00
Eelco Dolstra
d1bea30cfc
* Editing releases.
2009-10-23 12:42:50 +00:00
Eelco Dolstra
851a4dff4d
* Creating releases.
2009-10-23 09:58:23 +00:00
Eelco Dolstra
929cbe7b7c
* Adding persistant releases. A release is a named set of builds.
2009-10-21 15:44:17 +00:00
Eelco Dolstra
686b6271d2
* Cleaned up the foreign key constraints.
...
* Generate SQLite and PostgreSQL schemas from hydra.sql.
2009-10-21 12:25:43 +00:00
Eelco Dolstra
2cf42489e2
* More renaming.
2009-10-20 12:35:01 +00:00
Eelco Dolstra
321027b262
* More release -> view.
2009-10-20 12:26:39 +00:00
Eelco Dolstra
cec3201720
* Renaming "release sets" to "views" (not finished yet). Having
...
releases as a dynamic view on the database was misguided, since
doing thing like adding a new job to a release set will invalidate
all old releases. So we rename release sets to views, and we'll
reintroduce releases as separate, static entities in the database.
2009-10-15 21:35:19 +00:00
Eelco Dolstra
dd12113eb2
* Pass the page number in the URI query string.
2009-10-15 12:59:55 +00:00
Rob Vermaas
d109910453
* paging for releases page
2009-10-15 11:13:36 +00:00
Eelco Dolstra
903ca3b246
* Make download-by-type more deterministic when there are multiple
...
files of the same type.
2009-10-12 17:07:36 +00:00
Eelco Dolstra
6cedee5476
* Allow jobsets to be disabled.
2009-10-08 11:39:16 +00:00
Eelco Dolstra
08f3b7bf2a
* Use isCurrent to determine the inactive jobs.
2009-10-08 08:54:42 +00:00
Eelco Dolstra
16f2d003b2
* In the last succeeded / job status queries, use the Builds.isCurrent
...
column instead of Jobs.active.
2009-10-07 15:45:17 +00:00
Eelco Dolstra
48d8871dbc
* Only show status changes from successful to failed and failed to
...
successful (not between different kinds of failure).
2009-10-07 13:59:12 +00:00
Eelco Dolstra
7ae263a23a
* Make the queries more readable.
2009-10-07 13:40:58 +00:00
Eelco Dolstra
05c7989c3e
* Don't show platforms that are not included in the current jobset.
2009-10-02 17:11:28 +00:00
Eelco Dolstra
e9cf409d80
* Mark the "current" builds in a jobset, i.e. those corresponding to
...
the derivations that the jobset currently contains. This is
necessary to allow the "latest" channel to contain the correct
builds when the sources of a jobset are reverted.
2009-10-02 16:06:28 +00:00
Eelco Dolstra
2613d8721a
* Don't crawl the channel pages, particularly because the "all"
...
channel can be very large.
2009-09-30 12:26:51 +00:00
Rob Vermaas
d7713b4dba
* Add nix version to footer of hydra pages
2009-09-01 08:50:51 +00:00
Eelco Dolstra
b1289533e6
* More database hackery.
2009-07-09 15:26:55 +00:00
Eelco Dolstra
fa364fa333
* PostgreSQL compatibility.
2009-07-09 15:08:39 +00:00
Eelco Dolstra
1aec78014d
* In the job status and error pages, show when the status of a job
...
last changed.
2009-07-09 14:48:15 +00:00
Eelco Dolstra
5bdd5e7152
* Added a maintainers field to the Builds table.
...
* Regenerated the schema bindings with the latest DBIx::Class.
2009-07-07 13:59:59 +00:00
Eelco Dolstra
3e192cbb90
* Support showing the contents of ISO images (using isoinfo in
...
cdrkit).
2009-07-07 11:37:47 +00:00
Rob Vermaas
1da4f89eae
* added jar to 'contents' list
2009-06-18 13:23:04 +00:00
Rob Vermaas
e457be469c
sequence fix for postgresql
2009-05-11 13:56:52 +00:00
Rob Vermaas
b52796feac
check getHydraPath in stead of Envvar HYDRA_DBI directly
2009-05-09 16:10:50 +00:00
Rob Vermaas
f1611a7edd
check if HYDRA_DBI is defined in stead of empty string comparison
2009-05-09 16:00:08 +00:00
Rob Vermaas
f2a1fb3937
Added sequences for auto increment primary key columns (for PostgreSQL)
2009-05-07 13:30:55 +00:00
Rob Vermaas
a509694220
Hydra now uses an optional HYDRA_DBI environment variable which holds the DBI url. If this variable is not set, sqlite is used like before.
2009-04-29 11:07:46 +00:00
Rob Vermaas
d774cd6f18
changed queries for compatibility with postgresql
2009-04-28 14:21:33 +00:00
Eelco Dolstra
469893cd4a
* The "latest" channel shouldn't contain inactive jobs.
2009-04-25 11:41:46 +00:00
Eelco Dolstra
000fffeb11
2009-04-25 11:27:46 +00:00
Eelco Dolstra
3c47a11bd9
* Don't disable fsync in production.
2009-04-25 07:48:30 +00:00
Eelco Dolstra
97a6011628
* Hack around those SQLite timeouts: just retry the transaction.
2009-04-22 22:43:04 +00:00
Eelco Dolstra
018585dba8
* In the job status page and the channels, pick the build with the
...
highest ID rather than the highest timestamp. Otherwise, if a build
from revision N finishes after a build from revision N + 1, then
the build from revision N will end up in the channel. Thus, the
channel contents will be out of sync.
This is still not quite correct: if a revision *reverts* to an older
build, the channel will still end up out of sync, because Hydra
won't schedule the build again (after all, it has already done it).
A better fix would be to add a separate timestamp denoting when the
build was last "current" (i.e. corresponding to the "head revision"
of its job).
2009-04-22 13:55:20 +00:00