Commit graph

895 commits

Author SHA1 Message Date
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