Commit graph

260 commits

Author SHA1 Message Date
Eelco Dolstra
70276f59ea * Remove redundant -fork. 2009-03-11 15:52:39 +00:00
Eelco Dolstra
f945fbb5bd * Use Catalyst's HTTP::Prefork engine by default, with some limits to
prevent the server from being overloaded.
2009-03-11 15:48:06 +00:00
Eelco Dolstra
8b752627a2 * Use IO::Handles instead of old school filehandles. This ensures
that the pipe gets closed, and the child process dies, if the HTTP
  connection is prematurely interrupted.
2009-03-11 14:44:34 +00:00
Eelco Dolstra
7ea69e7a9d * Disregard failing substituters. 2009-03-10 11:49:18 +00:00
Eelco Dolstra
18f25a1226 * Doh. 2009-03-10 08:52:42 +00:00
Eelco Dolstra
54a122b49c * DB integrity: when deleting a build, get rid of its build steps. 2009-03-10 08:35:39 +00:00
Eelco Dolstra
6dc9e45fc8 * Doh. 2009-03-09 17:37:57 +00:00
Eelco Dolstra
fca7fb20c4 * Negative caching: don't perform a build if a dependency already
failed in a previous build.  This is essential for Nixpkgs: we don't
  want to keep doing the same failed dependency (say, Glibc) over and
  over again for a few hundred jobs.
2009-03-09 17:21:10 +00:00
Eelco Dolstra
8725dc03ec * Use ->update({...}) properly. 2009-03-09 16:22:41 +00:00
Eelco Dolstra
e87896e4b4 * eval-jobs -> hydra_eval_jobs. 2009-03-09 15:16:11 +00:00
Eelco Dolstra
a74bfdf533 * Inputs of type "build" must now be declared explicitly. 2009-03-09 13:58:43 +00:00
Eelco Dolstra
8c58448afc * hydra_scheduler: use eval-jobs. 2009-03-09 13:04:46 +00:00
Eelco Dolstra
875f57857e * Require every argument to be specified. 2009-03-09 10:13:45 +00:00
Eelco Dolstra
322d907629 2009-03-09 10:01:04 +00:00
Eelco Dolstra
5c45661141 * Report evaluation errors per job, and don't bail out if a job fails
to evaluate.
2009-03-07 14:06:10 +00:00
Eelco Dolstra
ba002c6ac5 * eval-jobs now efficiently evaluates all Hydra jobs from a
release.nix expression, accepting multiple values for function
  arguments.  This is much faster than calling nix-instantiate /
  nix-env a zillion times (which is particularly important for
  Nixpkgs).
2009-03-06 16:55:19 +00:00
Eelco Dolstra
0788ec24e6 * Export all relevant info about the derivation. 2009-03-06 15:18:59 +00:00
Eelco Dolstra
f9d4957f2f * Export all relevant info about the derivation. 2009-03-06 15:16:29 +00:00
Eelco Dolstra
55b8190fde 2009-03-06 14:16:42 +00:00
Eelco Dolstra
6cef161793 2009-03-06 14:03:09 +00:00
Eelco Dolstra
36fdd7f37f * For products that are directories (like manuals), allow a default
suffix other than index.html to be declared.  E.g. if a build does

    echo "doc manual $out manual.html" >> $out/nix-support/hydra-build-products

  the default link for the product is

    http://localhost:3000/build/417/download/1/manual.html

  but other files are also accessible, e.g.
    
    http://localhost:3000/build/417/download/1/style.css
2009-03-06 13:34:53 +00:00
Eelco Dolstra
dca6b943d0 * Allow scheduled builds to be cancelled. They're not removed from
the database, just marked as cancelled, because otherwise the
  scheduler would just add them again.
2009-03-06 12:49:01 +00:00
Eelco Dolstra
c724439b20 2009-03-05 15:41:43 +00:00
Eelco Dolstra
c3cc2262b7 * Start of a helper tool to evaluate job expressions efficiently. 2009-03-05 14:59:43 +00:00
Eelco Dolstra
97ed2052ba * Move everything up one directory. 2009-03-05 13:41:57 +00:00
Eelco Dolstra
6de278754a 2009-03-05 13:35:46 +00:00
Eelco Dolstra
f6fd756134 2009-03-05 12:32:14 +00:00
Eelco Dolstra
7f4762db82 2009-03-04 17:25:52 +00:00
Eelco Dolstra
0bd7abf10b * Controller for jobs which inherits all actions in ListBuilds. So
for instance we get channels specific for each job.
2009-03-04 17:24:08 +00:00
Eelco Dolstra
5162f05e2c * At top-level and for each project, provide two channels: "latest"
(containing the latest successful build of each job) and "all"
  (containing all successful builds ever).
2009-03-04 16:36:23 +00:00
Eelco Dolstra
4089859d33 2009-03-04 15:47:42 +00:00
Eelco Dolstra
07e1d73602 2009-03-04 15:41:37 +00:00
Eelco Dolstra
b7892f598d 2009-03-04 15:26:32 +00:00
Eelco Dolstra
7a8903ea54 * XHTML validity. 2009-03-04 15:25:35 +00:00
Eelco Dolstra
56beebc9c6 * Channels: provide an index page that lists all the packages in the
channel.
* Store the meta.homepage attribute in the Builds table.
2009-03-04 14:49:21 +00:00
Eelco Dolstra
dad2f31099 * Provide a channel for each project containing all the latest
succesful builds for each job in the project (under
  http://server/project/<name>/channel/latest).
2009-03-04 13:08:09 +00:00
Eelco Dolstra
af936d7c91 2009-03-04 12:23:54 +00:00
Eelco Dolstra
462a929ea1 2009-03-04 11:03:43 +00:00
Eelco Dolstra
0a40286202 * Put the project-related actions in a separate controller. Put the
actions for viewing the job status and all builds in a separate base
  class that's inherited both by Root.pm and Project.pm so that we get
  URIs like /jobstatus and /project/<name>/jobstatus for free.
2009-03-04 10:59:14 +00:00
Eelco Dolstra
ac8af00e84 2009-03-03 22:20:24 +00:00
Eelco Dolstra
7c616aaf1a 2009-03-03 18:07:31 +00:00
Eelco Dolstra
4044e857b6 2009-03-03 16:44:41 +00:00
Eelco Dolstra
e9b3c89c68 2009-03-03 14:21:27 +00:00
Eelco Dolstra
187da72ecd * Set mtime to 0 to ensure that the generate tar file doesn't change
between invocations.
2009-03-03 14:06:05 +00:00
Eelco Dolstra
8c7eb165c9 * Generate a .tar.bz2 file for the channel Nix expression, since
that's what nix-channel expects.
2009-03-03 10:44:54 +00:00
Eelco Dolstra
4d2cb75104 * Escape string literals.[ 2009-03-03 09:37:16 +00:00
Eelco Dolstra
7ffb32e048 * Generate a Nix expression for the channel. 2009-03-02 17:17:36 +00:00
Eelco Dolstra
f75924db95 * Allow builds to be restarted (if they failed with a transient error,
e.g. interrupted or network problems).
2009-03-02 16:03:41 +00:00
Eelco Dolstra
c7736f0643 2009-03-02 15:21:35 +00:00
Eelco Dolstra
f63f2f1a79 * Pass the version of dependencies to the Nix expression. 2009-03-02 15:21:05 +00:00
Eelco Dolstra
f1fbcd04a8 2009-03-02 10:23:40 +00:00
Eelco Dolstra
d1e0e2f2c6 2009-02-27 15:49:35 +00:00
Eelco Dolstra
f0f5b095cc * Quick hack to allow viewing of dependency graphs (via nix-store -q
--graph).  Maybe I should use SVG, since the generated PNGs tend to
  be huge.
2009-02-27 15:31:49 +00:00
Eelco Dolstra
c8ad58a774 * Only put Nix builds in the global channel. 2009-02-27 14:57:06 +00:00
Eelco Dolstra
abba2e62b4 2009-02-26 21:33:29 +00:00
Eelco Dolstra
b1501bc1cd * Speed up manifest generation. 2009-02-26 16:57:05 +00:00
Eelco Dolstra
cf37152849 2009-02-25 16:29:54 +00:00
Eelco Dolstra
f89757fbd4 2009-02-25 15:39:51 +00:00
Eelco Dolstra
ed1668704e 2009-02-25 14:50:17 +00:00
Eelco Dolstra
76c3ae1cef * Refactoring. 2009-02-25 14:34:29 +00:00
Eelco Dolstra
537f7c8c88 * Forgot to commit. 2009-02-25 14:33:33 +00:00
Eelco Dolstra
cb342ed0dd * Build the /build stuff in a separate controller. 2009-02-25 12:03:13 +00:00
Eelco Dolstra
16acb2754c * Put actions related to builds under /build (e.g. /log/<buildid>
becomes /build/<buildid>/log).
2009-02-25 10:52:41 +00:00
Eelco Dolstra
f8e162cb18 2009-02-23 13:24:23 +00:00
Eelco Dolstra
5fcd2e26c9 * One-click installs. 2009-02-23 13:23:55 +00:00
Eelco Dolstra
5f8dcab854 * Closure downloads: don't include the product number; it's not needed. 2009-02-23 09:34:29 +00:00
Eelco Dolstra
9013e97534 * Generate NAR archives on the fly. Necessary for producing channels
/ one-click installs on demand.
2009-02-19 23:43:08 +00:00
Eelco Dolstra
5a49cc5916 * Generate manifests on demand. Next step: generate NAR archives on
demand, then we can have channel support and one-click installs in
  Hydra.
2009-02-13 17:35:54 +00:00
Eelco Dolstra
95f2362c11 2009-02-12 16:38:08 +00:00
Eelco Dolstra
0be4bad006 * Add a link to each project's homepage. Suggested by karltk. 2009-02-11 23:14:28 +00:00
Eelco Dolstra
66602def16 * Register builds as GC roots so they don't get deleted. 2009-02-06 21:01:20 +00:00
Eelco Dolstra
dcacf2c790 * Get rid of a warning. 2009-02-06 21:00:58 +00:00
Eelco Dolstra
64fd90f225 * Automatically keep all builds in the latest successful release in
each release set.
2009-02-06 15:02:49 +00:00
Eelco Dolstra
7c1465944f * Keep the most recent builds for each job. 2009-02-06 14:17:25 +00:00
Eelco Dolstra
14960d6c53 * hydra_update_gc_roots.pl registers build outputs that should be kept
as GC roots and removes GC roots to build outputs that should no
  longer be kept.
2009-01-13 14:02:07 +00:00
Eelco Dolstra
7d2e5c8206 * Icon for ISOs. 2008-12-17 15:59:28 +00:00
Eelco Dolstra
6cb58ef581 * Make the schema class names match the case of the SQL table names. 2008-12-16 16:26:33 +00:00
Eelco Dolstra
dfcaa51d7b * Store the meta.longDescription and meta.license attributes in the
database.
2008-12-16 15:09:39 +00:00
Eelco Dolstra
7231556f47 * Cut off builds after half an hour of apparent inactivity. This
should really be configurable.
2008-12-16 10:42:37 +00:00
Eelco Dolstra
5e207cdbb2 * Provide a redirect to the latest successful release in a release set
(e.g. http://localhost:3000/release/patchelf/unstable/latest).
2008-12-15 13:12:51 +00:00
Eelco Dolstra
3a26ab4b21 * Scripts for starting / stopping Hydra. 2008-12-15 11:40:12 +00:00
Eelco Dolstra
a4e3e48767 * I love untyped databases... 2008-12-01 11:15:03 +00:00
Eelco Dolstra
61e3eb587a 2008-11-30 18:55:03 +00:00
Eelco Dolstra
e686979e55 * Queue runner: don't start scheduled builds builds if they belong to
a disabled project.  Idem for the queue page.
2008-11-30 18:53:58 +00:00
Eelco Dolstra
4f2b47bb0e * Give releases a timestamp. 2008-11-30 00:23:33 +00:00
Eelco Dolstra
5105d15636 * Put the release sets in the navbar. 2008-11-29 13:40:15 +00:00
Eelco Dolstra
0d84d6c166 * Dying considered harmful. 2008-11-29 01:27:17 +00:00
Eelco Dolstra
30e8b14b12 * Better timeout. 2008-11-29 01:26:51 +00:00
Eelco Dolstra
ca73ec5763 * Don't ignore SIGCHLD after all, Perl doesn't like it. Just do
a few waitpids periodically.
* Better cleanup of builds that die because of a sqlite locking
  problem.
2008-11-29 01:20:13 +00:00
Eelco Dolstra
22532079ec * Get rid of zombies. 2008-11-29 01:01:22 +00:00
Eelco Dolstra
19c3c83794 2008-11-29 00:56:40 +00:00
Eelco Dolstra
33f3bee810 * Don't use a config file by default. This frees up $HYDRA_CONFIG so
that the user can specify one.
2008-11-29 00:04:45 +00:00
Eelco Dolstra
acc2c30eb8 2008-11-28 18:54:09 +00:00
Eelco Dolstra
5613448a81 * Regenerate the bindings from a clean sqlite database. 2008-11-28 18:02:08 +00:00
Eelco Dolstra
ff9987c904 * Script for initialising the database. 2008-11-28 17:25:30 +00:00
Eelco Dolstra
cbc046edc5 2008-11-28 16:53:53 +00:00
Eelco Dolstra
95381d7d2c * Make HEAD requests work when doing Nix closure downloads. 2008-11-28 16:46:08 +00:00
Eelco Dolstra
3ec88541b2 * Nix expression for building Hydra. 2008-11-28 16:13:06 +00:00
Eelco Dolstra
28526dfaf8 * Reorganising. 2008-11-28 15:14:49 +00:00
Eelco Dolstra
cbcfdf9c54 * $HYDRA_DATA environment variable. 2008-11-28 14:36:04 +00:00