Commit graph

386 commits

Author SHA1 Message Date
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
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