Commit graph

559 commits

Author SHA1 Message Date
Eelco Dolstra
82a325a8cd * $currentBuilds{id} can be 0. 2010-03-05 17:48:00 +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
8e39abf914 * hydra: make warning lines darkorange 2010-03-05 13:32:56 +00:00
Rob Vermaas
4ab450458b * hydra: make warning lines darkorange 2010-03-05 13:29:34 +00:00
Rob Vermaas
b75de713e5 * hydra: reinstate proper error for non existing build, Hydra/9 2010-03-05 13:03:41 +00:00
Rob Vermaas
5be843667a * hydra: add warningLine class to log lines with warning attribute 2010-03-05 12:53:58 +00:00
Rob Vermaas
4b64329036 * hydra: correct header in jobstatus page of jobset 2010-03-05 11:43:02 +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
79a1489c95 * Remove the triggers to simulate foreign key constraints on SQLite,
as SQLite now supports them natively (though we still need to turn
  them on in Hydra).
2010-03-05 10:33:36 +00:00
Eelco Dolstra
b9c1f9aca7 * Call computeFSClosure() directly. 2010-03-04 14:15:13 +00:00
Eelco Dolstra
934fbc868f * Fix building hydra_eval_jobs against the sqlite branch. 2010-03-04 13:26:28 +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
ceeba31320 * hydra: show finish time on build status overview 2010-03-01 10:29:05 +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
1691f3b9ae remove useless url in changes overview 2010-02-25 14:02:13 +00:00
Rob Vermaas
7820346962 * hydra: more minor css tweaks 2010-02-25 13:43:29 +00:00
Rob Vermaas
557805a21a * hydra: ui bug 2010-02-25 13:17:11 +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
87ea0cb2b9 fix wrong comment 2010-02-25 09:22:00 +00:00
Rob Vermaas
7f1908a938 * hydra: changes in list in stead of table, also showing changes of changed 'build output' inputs 2010-02-25 09:17:17 +00:00
Rob Vermaas
8678da61ef * hydra: order project list on name 2010-02-25 09:02:48 +00:00
Rob Vermaas
34a1dfefc9 * hydra: layout changes, forgot something 2010-02-24 15:08:42 +00:00
Rob Vermaas
f0706a75a2 * hydra: layout changes 2010-02-24 15:06:20 +00:00
Rob Vermaas
a1c7e359be * hydra: indentation and fixed duplicate key in cachedgitinputs bug 2010-02-24 08:09:58 +00:00
Rob Vermaas
63acc9fb1c * hydra: do not show build history if there are no previous builds 2010-02-23 13:47:24 +00:00
Rob Vermaas
3ff2934400 * hdyra: show last succeeded build and changes since on build status summary if build has failed 2010-02-23 13:08: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
77d4a8c027 * Keep the 3 most recent builds for every platform for every job.
Previously it just kept the 3 most recent builds for every job
  (contrary to what the comment said).
2010-02-15 10:21:11 +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
Eelco Dolstra
14a1e6db61 * More indices. 2010-02-11 10:42:37 +00:00
Rob Vermaas
bfa7804f50 * hydra: show running buildsteps on build page 2010-02-11 10:18:57 +00:00
Rob Vermaas
3753ccb1ce * hydra: make chart zoomable and clickable 2010-02-11 09:18:30 +00:00
Eelco Dolstra
6dd87f5851 * Typo. 2010-02-10 12:27:16 +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
324cac9ae9 * hydra: remove excess layout 2010-02-08 14:05:30 +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
Rob Vermaas
3677a5fc6e * hydra: updated jquery version, needed for tabs (to be added later) 2010-02-01 12:07:26 +00:00
Eelco Dolstra
9f9e18e3a6 2010-01-26 20:27:33 +00:00
Eelco Dolstra
268364bfd8 2010-01-26 20:19:25 +00:00
Eelco Dolstra
0c5f8dfb47 * Another essential index. 2010-01-26 20:03:20 +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
7315480acd * hydra: show queue optimization 2010-01-22 10:31:08 +00:00
Rob Vermaas
c791485099 * hydra: show queue optimization 2010-01-22 10:29:54 +00:00
Rob Vermaas
2aa1fb5ead * hydra: fix for dead link in context bar of build 2010-01-20 10:53:54 +00:00
Eelco Dolstra
f468caf192 2010-01-19 17:59:13 +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
3bed0863a5 bigger min-height, max-width for page 2010-01-13 14:33:23 +00:00
Rob Vermaas
0b031c320a fix for clone build with build as input 2010-01-13 09:36:20 +00:00
Rob Vermaas
4a9234bc1d probably shouldn't leave in the debug statements 2010-01-12 08:40:41 +00:00
Rob Vermaas
3763748dbb revert unmeant previous change which caused errors to stay, even after successful evaluation of jobs 2010-01-12 08:39:30 +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
54d8722740 * in topbar, use 'Projects' in stead of 'Overview' 2010-01-08 12:30:09 +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
791a6eddd6 hack to try and prevent too many newlines 2010-01-07 13:53:05 +00:00
Rob Vermaas
1c0d34d395 removed debug print, added last 50 lines in failure emails 2010-01-06 13:57:41 +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
565463d7e8 * hydra: wider timeline 2009-12-02 07:17:44 +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
Eelco Dolstra
2816b828e9 2009-11-30 15:19:35 +00:00
Rob Vermaas
993dcd9348 mark lines with FAILURE as error 2009-11-30 11:43:43 +00:00
Eelco Dolstra
e1487ea7df 2009-11-27 16:47:35 +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
56754b1817 2009-11-04 17:16:14 +00:00
Eelco Dolstra
6869591f63 * Use a table. 2009-11-04 14:41:19 +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
f72367407a * Some renaming. 2009-10-26 15:55:19 +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
cd27c046b0 * Fix an apparent incompatibility with recent DBIx::Class. 2009-10-26 13:55:54 +00:00
Eelco Dolstra
3e8d85ecb0 2009-10-26 13:39:03 +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
69f290413c * Do not garbage collect releases. 2009-10-26 12:47:29 +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
a835bb532f 2009-10-21 13:48:47 +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
8f9417f822 * Be a bit less aggressive in rescheduling builds that have already
been done.
2009-10-19 12:36:15 +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
Rob Vermaas
3ebe5e1069 2009-10-15 13:35:52 +00:00
Rob Vermaas
1c5ab05521 * added support for twitter notification
3 environment variables are important: 
      TWITTER_USER
      TWITTER_PASS
      HYDRA_BUILD_BASEURL
   - twitter notification is off when TWITTER_USER and TWITTER_PASS are not defined
   - if HYDRA_BUILD_BASEURL is not defined, no URL is put in the twitter messages
2009-10-15 13:23:15 +00:00
Eelco Dolstra
3e03ac9a7c * Move the links to the channels up in the page. 2009-10-15 13:02:04 +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
ee31b6e3df * Don't catch all errors. Some errors mess up the connection with the
Nix daemon:

    at `debootstrap' [system = "i686-linux"]:
    getting attributes of path `/nix/store/dmhydkv6y1l4wpz4wq8qkf0fnlrhjr3l-svn-export/pkgs/tools/misc/debootstrap/subst.patch': No such file or directory

    at `debootstrap' [system = "x86_64-linux"]:
    writing to file: Broken pipe

  etc.
2009-10-08 12:29:20 +00:00
Eelco Dolstra
71bc5b14a0 * Add --fallback to prevent problems with obsolete substitutes. 2009-10-08 11:51:49 +00:00
Eelco Dolstra
6cedee5476 * Allow jobsets to be disabled. 2009-10-08 11:39:16 +00:00
Eelco Dolstra
158a746e94 * Don't bother with the Jobs.active column anymore. 2009-10-08 11:19:39 +00:00
Eelco Dolstra
f158697796 * Shut up DBIx::Class. 2009-10-08 11:19:17 +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
076ef05578 * In the scheduler, don't check if we've already done a build (except
against the set of current builds for the job).  This ensures that
  the builds with the highest ID are what we want in the channel, even
  in case of reverts.
2009-10-07 13:18:12 +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