Commit Graph

495 Commits

Author SHA1 Message Date
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
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
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
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
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
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
ca11aba074 * Fix an infinite recursion. 2009-04-03 09:13:34 +00:00
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
c970fc8335 * Urgh. 2009-03-31 15:59:47 +00:00
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
a6c32b33db 2009-03-31 14:55:47 +00:00
156f40130e * Generate robots.txt in a more Catalystic way. 2009-03-31 14:14:45 +00:00
d6e996d01c * Generate a robots.txt. 2009-03-31 13:48:03 +00:00
8f6f6ee53e * Allow authorised users to create projects. 2009-03-24 14:22:59 +00:00
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
3d26bb7fd1 * Allow `-' in release set names. 2009-03-20 15:19:17 +00:00
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
d1affbfe1a * Oops. 2009-03-20 10:26:50 +00:00
e076c0cff4 * Catalyst::View::Download::Plain doesn't like empty files. 2009-03-20 10:26:26 +00:00
163f3de2fa * Urgh. `-' had special significance in HTML form parameters... 2009-03-19 15:41:33 +00:00
af1e60a043 * Allow `-' in project/jobset names. 2009-03-19 15:12:50 +00:00
ba7b94a852 2009-03-18 18:50:42 +00:00
9e4b029285 * A quick hack to list the contents of various types of files (RPM,
Debs, tars, ...).
2009-03-18 17:40:12 +00:00
a6e84d8431 * Option to show the tail of a log. 2009-03-16 12:16:33 +00:00
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
d2fc382498 * Register GC roots properly. 2009-03-15 11:56:11 +00:00
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
eeddf5752d * Provide access to the raw, non-pretty-printed logfiles.
Unfortunately necessary for large logs.
2009-03-14 23:27:08 +00:00
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
7c7c43335d * Job status: show the active jobs. 2009-03-13 17:32:08 +00:00
3c86b3652c * Refactoring. 2009-03-13 15:41:19 +00:00
3af294f848 * Make jobsets viewable under
http://server/jobset/<project>/<jobset>.
2009-03-13 15:23:08 +00:00
ae364b9e5f * Represent jobs explicitly in the DB. 2009-03-13 14:49:25 +00:00
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
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
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
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
6dc9e45fc8 * Doh. 2009-03-09 17:37:57 +00:00
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
8725dc03ec * Use ->update({...}) properly. 2009-03-09 16:22:41 +00:00
a74bfdf533 * Inputs of type "build" must now be declared explicitly. 2009-03-09 13:58:43 +00:00
6cef161793 2009-03-06 14:03:09 +00:00
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
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
97ed2052ba * Move everything up one directory. 2009-03-05 13:41:57 +00:00