Commit graph

77 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Eelco Dolstra
c613b885f2 Use the new Nix Perl bindings 2011-11-30 15:25:28 +01:00
Rob Vermaas
1395717245 recognize tgz in build products contents page 2011-11-16 10:32:32 -05:00
Ludovic Courtès
c329bece61 Handle xz-compressed files. 2011-10-10 21:00:54 +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
Eelco Dolstra
c51af99ecf * Catalyst now escapes slashes to %2f, which broke defaultUriForProduct. 2011-08-19 16:23:01 +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
edbfc781d0 qualify id column 2011-03-15 13:54:43 +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
4fdd011b2d hydra: fixed missing argument to restartbuild function 2010-12-07 13:25:29 +00:00
Rob Vermaas
6d6f43fa0c hydra: factored out build restart and 2010-12-03 08:40:34 +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
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
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
Rob Vermaas
9c42f60f08 Hydra: Allow all builds to be restarted. 2010-05-26 08:03:44 +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
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
Rob Vermaas
7208f79828 inital version of links to diff in scm 2010-02-25 15:32:56 +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
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
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
9b25d7b299 * A `nix-build' Hydra product must be a directory. 2010-02-05 20:07:49 +00:00
Rob Vermaas
b615135825 * hydra: add dependency list with links to logfiles 2010-01-22 13:31:59 +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
63db13be3f hydra: in case of cached build, add link to build that built the storepath 2010-01-15 14:18:12 +00:00