Commit graph

1562 commits

Author SHA1 Message Date
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
Eelco Dolstra e9cf409d80 * Mark the "current" builds in a jobset, i.e. those corresponding to
the derivations that the jobset currently contains.  This is
  necessary to allow the "latest" channel to contain the correct
  builds when the sources of a jobset are reverted.
2009-10-02 16:06:28 +00:00
Eelco Dolstra 9d99bb3342 * Split the CSS. 2009-10-02 14:00:37 +00:00
Eelco Dolstra 117be5182c * Don't show the job menu. 2009-09-30 13:13:43 +00:00
Eelco Dolstra 2613d8721a * Don't crawl the channel pages, particularly because the "all"
channel can be very large.
2009-09-30 12:26:51 +00:00
Rob Vermaas 87f3fbaab1 extra indexes 2009-09-30 12:17:55 +00:00
Rob Vermaas d7713b4dba * Add nix version to footer of hydra pages 2009-09-01 08:50:51 +00:00
Eelco Dolstra cbeccda5eb * Typo. 2009-08-12 13:50:59 +00:00
Eelco Dolstra 5e72c17540 * Include more info in notification emails. 2009-08-12 13:31:27 +00:00
Eelco Dolstra c1e6797d39 * Allow overriding the sender email address. 2009-07-24 18:06:34 +00:00
Rob Vermaas f89644ddb7 time out to 3600 for now 2009-07-13 11:42:56 +00:00
Eelco Dolstra 1cc99505b7 2009-07-10 14:43:21 +00:00
Eelco Dolstra abe0a8eb9d * Get the URI for use in notification mails from the Hydra config
file.
2009-07-10 09:47:42 +00:00
Eelco Dolstra b1289533e6 * More database hackery. 2009-07-09 15:26:55 +00:00
Eelco Dolstra fa364fa333 * PostgreSQL compatibility. 2009-07-09 15:08:39 +00:00
Eelco Dolstra 1aec78014d * In the job status and error pages, show when the status of a job
last changed.
2009-07-09 14:48:15 +00:00
Eelco Dolstra bbf718e64d * Revert for now due to Postgres breakage. 2009-07-09 10:53:31 +00:00
Eelco Dolstra 44454ebeac * Send email if a build fails. 2009-07-08 15:52:55 +00:00
Eelco Dolstra 3119cc7edc 2009-07-07 16:15:38 +00:00
Eelco Dolstra 24a3b39463 * Store meta.maintainers. 2009-07-07 14:33:51 +00:00
Eelco Dolstra 5bdd5e7152 * Added a maintainers field to the Builds table.
* Regenerated the schema bindings with the latest DBIx::Class.
2009-07-07 13:59:59 +00:00
Eelco Dolstra 6bcdfc8a1f 2009-07-07 13:20:00 +00:00
Eelco Dolstra 3e192cbb90 * Support showing the contents of ISO images (using isoinfo in
cdrkit).
2009-07-07 11:37:47 +00:00
Rob Vermaas 1da4f89eae * added jar to 'contents' list 2009-06-18 13:23:04 +00:00
Rob Vermaas e457be469c sequence fix for postgresql 2009-05-11 13:56:52 +00:00
Rob Vermaas b52796feac check getHydraPath in stead of Envvar HYDRA_DBI directly 2009-05-09 16:10:50 +00:00
Rob Vermaas f1611a7edd check if HYDRA_DBI is defined in stead of empty string comparison 2009-05-09 16:00:08 +00:00
Rob Vermaas f2a1fb3937 Added sequences for auto increment primary key columns (for PostgreSQL) 2009-05-07 13:30:55 +00:00
Eelco Dolstra cd80952a45 * Move up the build products in the builds page, since they're more
likely to be of interest than the build inputs and build steps.
2009-05-07 13:19:46 +00:00
Eelco Dolstra dda984cf16 * Add an icon for PDFs. 2009-05-07 13:15:10 +00:00
Rob Vermaas a509694220 Hydra now uses an optional HYDRA_DBI environment variable which holds the DBI url. If this variable is not set, sqlite is used like before. 2009-04-29 11:07:46 +00:00
Rob Vermaas d774cd6f18 changed queries for compatibility with postgresql 2009-04-28 14:21:33 +00:00
Eelco Dolstra 469893cd4a * The "latest" channel shouldn't contain inactive jobs. 2009-04-25 11:41:46 +00:00
Eelco Dolstra 000fffeb11 2009-04-25 11:27:46 +00:00
Eelco Dolstra 3c47a11bd9 * Don't disable fsync in production. 2009-04-25 07:48:30 +00:00
Eelco Dolstra 109cc35edf * Randomly permute the order in which builds are added. This is
mainly to prevent all those Nixpkgs builds named "kde*" from
  building at the same time.  Since they all have the same slow
  dependencies (qt, kdelibs) this tends to block the buildfarm.
2009-04-23 15:40:36 +00:00
Eelco Dolstra c48ec3d340 * Autoflush stdout. 2009-04-22 22:59:54 +00:00
Eelco Dolstra 97a6011628 * Hack around those SQLite timeouts: just retry the transaction. 2009-04-22 22:43:04 +00:00
Eelco Dolstra 80691a39f5 * Don't log redundant build steps in case of cached failures. 2009-04-22 14:41:12 +00:00
Eelco Dolstra 018585dba8 * In the job status page and the channels, pick the build with the
highest ID rather than the highest timestamp.  Otherwise, if a build
  from revision N finishes after a build from revision N + 1, then
  the build from revision N will end up in the channel.  Thus, the
  channel contents will be out of sync.

  This is still not quite correct: if a revision *reverts* to an older
  build, the channel will still end up out of sync, because Hydra
  won't schedule the build again (after all, it has already done it).
  A better fix would be to add a separate timestamp denoting when the
  build was last "current" (i.e. corresponding to the "head revision"
  of its job).
2009-04-22 13:55:20 +00:00
Eelco Dolstra 4d699c97fd * Don't do pretty printing for large logs, because the XSLT processing
is rather slow.
2009-04-16 15:22:14 +00:00
Eelco Dolstra d6bd9bab5f * Job status / error pages: show only active jobs. 2009-04-15 14:50:15 +00:00
Eelco Dolstra 2a05522189 * Don't index any of the logs (mostly because xsltproc can be a huge
resource hog).
2009-04-14 12:40:00 +00:00
Eelco Dolstra 28fde34b9c 2009-04-09 15:09:00 +00:00
Eelco Dolstra 10ae24fd3c * Fixed a broken redirect when deleting a release set. 2009-04-09 11:43:49 +00:00
Eelco Dolstra 607d5641b6 * Added a page to quickly see all failed builds and failed evaluations
per project or jobset or job or globally.
2009-04-08 22:08:00 +00:00
Eelco Dolstra bf2a5a2629 * Allow omitting the product number if there is only one product in a
build.  This allows URLs like

    http://server/job/patchelf/trunk/deb_debian40i386/latest/download

  or

    http://server/release/patchelf/unstable/latest/deb_debian40i386/download
2009-04-08 09:37:05 +00:00
Eelco Dolstra 11d8421def * Support redirecting to some job of a release. For instance, this
redirects to the "tarball" build of the latest release of
  patchelf/unstable:

    http://server/release/patchelf/unstable/latest/tarball

  In conjunction with the other redirects this allows linking to the
  actual download of the build:

    http://server/release/patchelf/unstable/latest/tarball/download-by-type/file/source-dist
2009-04-08 09:03:45 +00:00
Eelco Dolstra 26ff5f1ff0 * Provide some redirects to build products by type so that we can for
example link to the latest tarball through a URI like:

    http://server/job/patchelf/trunk/tarball/latest/download-by-type/file/source-dist
2009-04-08 08:09:39 +00:00
Eelco Dolstra f9572e4d1e * Provide some redirects to the latest successful build for a job (or
project, or jobset, or globally, but that's not all that useful).
  This is useful if you want to link to the latest build.
2009-04-07 15:49:02 +00:00
Eelco Dolstra 16a84f4bf5 * Big speed-up of the job status page and the channel generation (such
as the manifest).  The builds are now determined in one SQL query
  rather than a zillion ones.
2009-04-03 15:37:21 +00:00
Eelco Dolstra ca11aba074 * Fix an infinite recursion. 2009-04-03 09:13:34 +00:00
Eelco Dolstra 0ae979f652 2009-04-03 09:12:36 +00:00
Eelco Dolstra 09944ed3a2 * Forgot to commit. 2009-04-03 08:38:13 +00:00
Eelco Dolstra 753e56b6eb * Improved the navigation bar: don't include all projects (since that
doesn't scale), and include links for jobset/job specific pages.
  The main page now lists the projects.
* Overview pages for jobsets and jobs.
* Links to the channels.
* Jobsets are now defined and edited in a separate action.
2009-04-02 16:15:57 +00:00
Eelco Dolstra db4ce0df06 2009-03-31 16:09:04 +00:00
Eelco Dolstra c970fc8335 * Urgh. 2009-03-31 15:59:47 +00:00
Eelco Dolstra c39a693afd * Generate SVG instead of PNG, which is much faster and smaller. I
tried this before but the text didn't fit in the boxes in Firefox.
  The solution is to use Graphviz' svg:cairo backend instead of svg.
  svg:cairo doesn't depend on client-side fonts.
2009-03-31 15:59:31 +00:00
Eelco Dolstra a6c32b33db 2009-03-31 14:55:47 +00:00
Eelco Dolstra 156f40130e * Generate robots.txt in a more Catalystic way. 2009-03-31 14:14:45 +00:00
Eelco Dolstra d6e996d01c * Generate a robots.txt. 2009-03-31 13:48:03 +00:00
Eelco Dolstra 7b7c3f2265 * Perl sucks. "getBuildLog $drvPath" doesn't mean the same as
"getBuildLog($drvPath)" if you call it in a hash, and quietly screws
  up the rest of the hash.
2009-03-26 15:32:19 +00:00
Eelco Dolstra f0f9f12e42 * Use Nix's negative caching. 2009-03-26 12:53:39 +00:00
Eelco Dolstra 8f6f6ee53e * Allow authorised users to create projects. 2009-03-24 14:22:59 +00:00
Eelco Dolstra c75977ce5a * Record the input containing the Nix expression (release.nix) in the
build inputs.  Otherwise we can't (for example) reproduce a build
  later.
2009-03-23 21:42:59 +00:00
Eelco Dolstra dab25b30f0 * Fix the queue page. 2009-03-23 15:19:34 +00:00
Eelco Dolstra 12c1d90135 * Add some DB indices to make the /releases page much faster.
* Reduce the number of DB queries for the /all and /jobstatus pages.
* Show the Hydra version number.
2009-03-23 13:52:24 +00:00
Eelco Dolstra 0da0384753 * Top-level: don't exit on errors. 2009-03-23 01:13:37 +00:00
Eelco Dolstra d9424b6364 * Show the input bindings in evaluation error messages. 2009-03-20 17:06:50 +00:00
Eelco Dolstra 3d26bb7fd1 * Allow `-' in release set names. 2009-03-20 15:19:17 +00:00
Eelco Dolstra 2755c895ff * In job inputs of type "build", allow the project and jobset names of
the input build to be specified, as well as constraints on the
  inputs of the inputs build.  For instance, you can require that a
  build has input `system = "i686-linux"'.

  This is important when one binary build serves as an input to
  another binary build.  Obviously, we shouldn't pass a build on
  i686-linux as an input to another on i686-darwin.  Hence the
  necessity for constraint.

  The constraint are currently quite limited.  What you really want to
  say is that the "system" input of the other build has to match the
  "system" input of this build.  But those require a bit more work
  since they introduce dependencies between inputs.
2009-03-20 14:50:09 +00:00
Eelco Dolstra d1affbfe1a * Oops. 2009-03-20 10:26:50 +00:00
Eelco Dolstra e076c0cff4 * Catalyst::View::Download::Plain doesn't like empty files. 2009-03-20 10:26:26 +00:00
Eelco Dolstra d13af4f392 * Doh. 2009-03-20 10:19:46 +00:00
Eelco Dolstra 163f3de2fa * Urgh. `-' had special significance in HTML form parameters... 2009-03-19 15:41:33 +00:00
Eelco Dolstra af1e60a043 * Allow `-' in project/jobset names. 2009-03-19 15:12:50 +00:00
Eelco Dolstra ba7b94a852 2009-03-18 18:50:42 +00:00
Eelco Dolstra 9e4b029285 * A quick hack to list the contents of various types of files (RPM,
Debs, tars, ...).
2009-03-18 17:40:12 +00:00
Eelco Dolstra b39e2c5e32 * Doh. 2009-03-18 17:13:13 +00:00
Eelco Dolstra 702da969a6 * Ordering by timestamp isn't a good idea here since a newer revision
might finish building before an older revision, and therefore have a
  lower timestamp.
2009-03-18 16:46:01 +00:00
Eelco Dolstra a1848b08f2 2009-03-16 17:51:42 +00:00
Eelco Dolstra bf1480cc25 * Doh. 2009-03-16 17:46:46 +00:00
Eelco Dolstra 5853a26b13 * Don't discard old build steps when restarting a build. 2009-03-16 16:56:47 +00:00
Eelco Dolstra a6e84d8431 * Option to show the tail of a log. 2009-03-16 12:16:33 +00:00
Eelco Dolstra 54475b9266 * When marking a build as "keep", register it as a root right away
(don't wait for someone to run hydra_update_gcroots), otherwise it
  may still be GC'ed.
2009-03-16 10:57:44 +00:00
Eelco Dolstra d2fc382498 * Register GC roots properly. 2009-03-15 11:56:11 +00:00
Eelco Dolstra 32f0665d2c * Allow users to change the value of a build's "keep" flag, which
prevents the build output from being garbage collected.
2009-03-14 23:56:57 +00:00
Eelco Dolstra eeddf5752d * Provide access to the raw, non-pretty-printed logfiles.
Unfortunately necessary for large logs.
2009-03-14 23:27:08 +00:00
Eelco Dolstra 4404800ad8 * Release sets: need to include the jobset name to disambiguate
between jobs with the same name from different jobsets (e.g. trunk
  vs. branch).
2009-03-14 22:34:22 +00:00
Eelco Dolstra 7c7c43335d * Job status: show the active jobs. 2009-03-13 17:32:08 +00:00
Eelco Dolstra 2ece4d9f15 * Render durations nicely. 2009-03-13 16:04:49 +00:00
Eelco Dolstra 107a0faa51 * PROCESS -> INCLUDE in most cases. INCLUDE does proper scoping of
variables.
2009-03-13 15:57:43 +00:00
Eelco Dolstra 3c86b3652c * Refactoring. 2009-03-13 15:41:19 +00:00
Eelco Dolstra 3af294f848 * Make jobsets viewable under
http://server/jobset/<project>/<jobset>.
2009-03-13 15:23:08 +00:00
Eelco Dolstra ae364b9e5f * Represent jobs explicitly in the DB. 2009-03-13 14:49:25 +00:00
Eelco Dolstra a39a28dffb 2009-03-13 12:45:45 +00:00
Eelco Dolstra 81bdc4cfa2 2009-03-13 12:29:47 +00:00
Eelco Dolstra f2f586d842 * Disambiguate jobs by jobset name. I.e. jobs with the same name in
different jobsets are not considered the same job.
2009-03-12 23:46:17 +00:00
Eelco Dolstra a623ad157e * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
distinguish between jobs with the same name in different jobsets
  (e.g. "trunk" vs "stdenv-branch" for Nixpkgs).
* Renamed the "attrName" field of Builds to "job".
* Renamed the "id" field of BuildSteps to "build".
2009-03-12 14:18:30 +00:00
Eelco Dolstra fec08462ee * In Sqlite "release" is now a keyword, so use "release_" instead.
Note: to upgrade old databases, do a dump with an old Sqlite first;
  dumping with a new Sqlite will silently discard (!) the contents of
  the ReleaseSetJobs table.
2009-03-12 13:42:44 +00:00
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
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
Eelco Dolstra 74c952d073 2008-11-08 22:40:12 +00:00
Eelco Dolstra ffd0f75692 * Generic declaration of build products. 2008-11-07 17:10:34 +00:00
Eelco Dolstra 2d52634b1e 2008-11-07 15:29:52 +00:00
Eelco Dolstra fe1582a00d * Refactoring. 2008-11-07 14:51:44 +00:00
Eelco Dolstra d5a0f6e145 2008-11-06 23:17:46 +00:00
Eelco Dolstra 2324218ecd 2008-11-06 18:28:34 +00:00
Eelco Dolstra 279de1a9c2 * Support variant builds. 2008-11-06 18:26:29 +00:00
Eelco Dolstra 7bbd736d96 2008-11-06 14:32:30 +00:00
Eelco Dolstra b0bbb1a011 2008-11-06 13:40:31 +00:00
Eelco Dolstra 9894b10131 2008-11-05 23:37:23 +00:00
Eelco Dolstra a77acc2a4f * BuildInputs table: link to dependencies, include store paths. 2008-11-05 23:08:16 +00:00
Eelco Dolstra 0ea294e77e * Store info about the build inputs in the build record. 2008-11-05 06:23:41 +00:00
Eelco Dolstra a970603ad1 * Get dependencies from the database. 2008-11-05 04:52:52 +00:00
Eelco Dolstra 621ce1ee64 2008-11-05 03:25:48 +00:00
Eelco Dolstra 8378d57ba2 2008-11-05 01:58:29 +00:00
Eelco Dolstra 6e73c85c3b * Basic job info in the database. 2008-11-04 18:23:28 +00:00
Eelco Dolstra 5915bcaba3 * Store build duration, handle cached builds. 2008-10-28 17:08:29 +00:00
Eelco Dolstra 08798f3c07 * Some jQuery / CSS hackery. 2008-10-28 15:34:29 +00:00
Eelco Dolstra 9f7403765c * Show the latest build for each job. 2008-10-28 12:44:36 +00:00
Eelco Dolstra 7ded8bbd15 2008-10-28 10:32:31 +00:00
Eelco Dolstra b250fa6094 * Start of a basic Catalyst web interface. 2008-10-28 10:19:31 +00:00
Eelco Dolstra c181fc8703 * Put info about logs / build products in the DB. 2008-10-28 10:18:03 +00:00
Eelco Dolstra ff6021450a * Start putting build results in a database. 2008-10-10 16:05:05 +00:00