Commit graph

273 commits

Author SHA1 Message Date
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
Eelco Dolstra b97c946f8e * Fix the terminology. 2008-11-28 11:16:53 +00:00
Eelco Dolstra 88c34fb6c7 2008-11-28 11:01:35 +00:00
Eelco Dolstra 5ca4003b1d * The owner parameter is only set for admin roles. 2008-11-28 11:01:20 +00:00
Eelco Dolstra 2156e406b4 * Monitor for dead builds all the time. 2008-11-28 11:00:55 +00:00
Eelco Dolstra ba5e4be15e 2008-11-28 10:23:00 +00:00
Eelco Dolstra a7d2f5382c 2008-11-28 00:16:01 +00:00
Eelco Dolstra ca1a6d1bdf 2008-11-27 22:29:38 +00:00
Eelco Dolstra f742871910 2008-11-27 22:26:53 +00:00
Eelco Dolstra 58cb6fbea5 2008-11-27 21:40:23 +00:00
Eelco Dolstra 06b49e0df7 2008-11-27 21:08:17 +00:00
Eelco Dolstra e4e7fac958 2008-11-27 20:33:17 +00:00
Eelco Dolstra 1810a13546 2008-11-27 19:06:11 +00:00
Eelco Dolstra ac89e7d4ed 2008-11-27 18:54:25 +00:00
Eelco Dolstra d6f71f2248 * Showing releases. 2008-11-27 18:27:19 +00:00
Eelco Dolstra 7b19257830 2008-11-27 17:01:41 +00:00
Eelco Dolstra 98c53156e6 * Basic release management: releases are now dynamically computed as
database queries from a set of jobs that have to be in a release.
  E.g. a patchelf release might consist of the jobs "tarball", "build",
  and "rpm_fedora10i386".  Here the first job ("tarball") is the
  primary job: all the others have it as an input.  The primary job
  supplies the identity of the release.
2008-11-27 15:16:06 +00:00
Eelco Dolstra 24923ed09a * Make build steps clickable as well. 2008-11-27 10:04:54 +00:00
Eelco Dolstra d9507c304a * Links on trs. 2008-11-27 09:59:29 +00:00
Eelco Dolstra 12dcf2d464 2008-11-27 02:38:03 +00:00
Eelco Dolstra 6f5b98d7ca 2008-11-27 02:29:46 +00:00
Eelco Dolstra ab16bfaf95 * Show job status and all builds for a project. 2008-11-27 02:23:44 +00:00
Eelco Dolstra bebd4a8b89 2008-11-27 01:27:08 +00:00
Eelco Dolstra eb05998749 * Grabbed a logo. TODO: check copyright status. 2008-11-27 01:05:31 +00:00
Eelco Dolstra 266aa141bd * Separate job status and all builds pages. 2008-11-27 00:38:09 +00:00
Eelco Dolstra 38a1b0d7ef * Show global and per-project statistics. 2008-11-26 23:49:51 +00:00
Eelco Dolstra 043127c3d4 * Check the owner. 2008-11-26 23:31:07 +00:00
Eelco Dolstra 2748cfac07 * Role-based access control. Only admins can create projects. Only
admins or project owners can edit or delete a project.
2008-11-26 23:25:24 +00:00
Eelco Dolstra 161e836d0c 2008-11-26 22:42:07 +00:00
Eelco Dolstra 50ae3ca9e9 * Added authentication. 2008-11-26 19:48:04 +00:00
Eelco Dolstra 632d56e665 2008-11-26 18:45:52 +00:00
Eelco Dolstra 41055aabc7 2008-11-26 17:43:53 +00:00
Eelco Dolstra fa042e04ae * Unify rendering of finished and scheduled builds. 2008-11-26 17:43:45 +00:00
Eelco Dolstra b7e03351cb * Allow the maximum number of concurrent builds per platform to be
configured.
2008-11-26 17:14:27 +00:00
Eelco Dolstra 5f7142eb82 * Get the job priority from the meta.schedulingPriority attribute.
Can't use meta.priority because nix-env already uses that one for
  resolving filename clashes.
2008-11-26 14:43:16 +00:00
Eelco Dolstra 21497f9a47 * Don't start more builds concurrently than allowed for each system
type (currently hard-coded at 2).
2008-11-26 14:20:50 +00:00
Eelco Dolstra 39f8b6110f 2008-11-26 13:39:15 +00:00
Eelco Dolstra a36fab9293 2008-11-26 01:11:36 +00:00
Eelco Dolstra c72f4dd67a * Boolean inputs. 2008-11-25 18:34:24 +00:00
Eelco Dolstra 1698e490d0 * Support Subversion checkouts. 2008-11-25 18:13:55 +00:00
Eelco Dolstra b4cfd58944 * Trim some significant whitespace. 2008-11-25 16:35:44 +00:00
Eelco Dolstra 465612fc73 * Fix a weird bug. 2008-11-25 16:35:33 +00:00
Eelco Dolstra cb8e3acb2a * Store the release name. 2008-11-25 16:13:22 +00:00
Eelco Dolstra 8fbb79efe6 * Caching of "path" inputs, and fake a revision number for those. 2008-11-25 14:59:08 +00:00
Eelco Dolstra a8f748e547 * Log evaluation errors etc. in the DB. 2008-11-25 13:27:57 +00:00
Eelco Dolstra 6efe0c37f3 2008-11-25 11:09:15 +00:00
Eelco Dolstra 410b80063c * More global substitution. 2008-11-25 11:01:42 +00:00
Eelco Dolstra 22feae550e * Idem. 2008-11-25 10:55:07 +00:00
Eelco Dolstra fadd7a0448 * HydraFrontend -> Hydra. 2008-11-25 10:53:42 +00:00
Eelco Dolstra 4b478eb8df 2008-11-25 02:34:48 +00:00
Eelco Dolstra 78a694420e 2008-11-25 02:27:03 +00:00
Eelco Dolstra 147b980028 2008-11-25 01:22:47 +00:00
Eelco Dolstra e742833da3 * Get rid of "positive failures" and separate log phases.
* Specifically log, for a build, whether the top-level derivation
  failed, or some dependency failed, or Nix itself barfed.  In the
  latter case log the error output from Nix.
2008-11-25 00:38:16 +00:00
Eelco Dolstra 125d7a985e * Use jquery for the logfile manipulation. 2008-11-18 17:51:40 +00:00
Eelco Dolstra 1f90d94331 * Pretty-print the logs. 2008-11-18 16:45:23 +00:00
Eelco Dolstra f6462ff5bb * Downloading closures. 2008-11-18 14:48:40 +00:00
Eelco Dolstra 9f1f939226 2008-11-18 12:48:58 +00:00
Eelco Dolstra 6aa0ddda51 2008-11-18 12:13:34 +00:00
Eelco Dolstra f0eb8cf08c 2008-11-17 23:59:20 +00:00
Eelco Dolstra 51e617e9e8 2008-11-17 15:31:30 +00:00
Eelco Dolstra ab2b40239f 2008-11-17 15:31:19 +00:00
Eelco Dolstra 9933dd2f27 2008-11-17 13:39:01 +00:00
Eelco Dolstra 0c0175d88e * Adding input value alternatives. 2008-11-17 13:36:58 +00:00
Eelco Dolstra 2650094643 * Editing of jobset inputs. 2008-11-17 11:44:51 +00:00
Eelco Dolstra 66f752beaf 2008-11-14 13:57:17 +00:00
Eelco Dolstra 83d6ad7aa2 2008-11-13 18:16:57 +00:00
Eelco Dolstra 77e1bb7527 * Happy Javascript hacking. 2008-11-13 17:55:40 +00:00
Eelco Dolstra f6f5309a02 2008-11-13 14:54:50 +00:00
Eelco Dolstra 46dc10847a 2008-11-13 12:11:18 +00:00
Eelco Dolstra db68e005a6 2008-11-13 09:48:10 +00:00
Eelco Dolstra 8c6760cecc 2008-11-13 09:25:38 +00:00
Eelco Dolstra 0f03c796e7 2008-11-13 00:01:19 +00:00
Eelco Dolstra cd06b6c97d 2008-11-12 23:45:11 +00:00
Eelco Dolstra 6591118a2b 2008-11-12 23:14:57 +00:00
Eelco Dolstra 08f171d9e8 2008-11-12 16:42:07 +00:00
Eelco Dolstra b96d304c85 * Support serving products that are directories (such as manuals or
coverage analysis reports).
2008-11-12 15:36:50 +00:00
Eelco Dolstra f9c0996003 * Allow downloading of build products. 2008-11-12 14:41:51 +00:00
Eelco Dolstra 25f227f678 2008-11-12 14:29:32 +00:00
Eelco Dolstra 356b77bb95 2008-11-12 13:00:56 +00:00
Eelco Dolstra 80a2350a0a 2008-11-12 11:09:21 +00:00
Eelco Dolstra ee13f3cc0d * Store info about all the build actions and allow them to be
monitored while the build is in progress.
2008-11-11 17:49:50 +00:00
Eelco Dolstra 632bb24687 2008-11-11 14:45:33 +00:00
Eelco Dolstra ecd0ba74e9 * Merged the Build and Job tables. 2008-11-11 12:54:37 +00:00
Eelco Dolstra 0f24c11292 * Perform builds in parallel.
* Turn off sqlite's synchronous mode because fsync() performance
  *really* sucks on ext3 (it syncs the entire filesystem).  See
  https://bugzilla.mozilla.org/show_bug.cgi?id=421482
2008-11-11 10:27:36 +00:00
Eelco Dolstra 8f5e7c319c 2008-11-10 13:33:12 +00:00
Eelco Dolstra 15edf10986 2008-11-10 10:27:52 +00:00
Eelco Dolstra 8f42bf303f 2008-11-10 10:18:50 +00:00
Eelco Dolstra f4a44db664 2008-11-09 00:48:36 +00:00