Commit Graph

338 Commits

Author SHA1 Message Date
7daca03e78 * Store jobset evaluations in the database explicitly. This includes
recording the builds that are part of a jobset evaluation.  We need
  this to be able to answer queries such as "return the latest NixOS
  ISO for which the installation test succeeded".  This wasn't previously
  possible because the database didn't record which builds of (say)
  the `isoMinimal' job and the `tests.installer.simple' job came from
  the same evaluation of the nixos:trunk jobset.

  Keeping a record of evaluations is also useful for logging purposes.
2010-03-05 15:41:10 +00:00
00b2f7c141 * Don't access /nix/var/nix/db directly but use the Nix Perl bindings. 2010-03-04 13:25:12 +00:00
a1c7e359be * hydra: indentation and fixed duplicate key in cachedgitinputs bug 2010-02-24 08:09:58 +00:00
529a6cf6eb * hydra: buildpage, show changes since last build/successful build 2010-02-22 13:21:34 +00:00
d8cc0bbb5d * Make the "latest succeeded" query (used by the "latest" channel)
faster, from about 4.5s to 1.0s for the global "latest" channel.
  Note that the query is only fast if the "IndexBuildsOnJob" and
  "IndexBuildsOnJobAndIsCurrent" indices are dropped - if they exist,
  PostgreSQL will use those instead of the more efficient
  "IndexBuildsOnJobFinishedId" index.  Looks like a bug in the planner
  to me...
2010-02-12 14:49:32 +00:00
e1f45498c9 Set $NIX_PREFETCH_GIT_DEEP_CLONE. 2010-01-25 13:26:37 +00:00
4b0bc65cbb * Add derivations and all build-time dependencies of a build to the
Hydra channels.  This includes sources.
2010-01-19 16:47:32 +00:00
3b504b2370 * hydra: added variant of build input type, 'build output (same system)' to allow better continous integration in one jobset for multiple system. it makes sure that the system of the build that is passed as input for a job has the same system as the job. 2010-01-19 14:15:31 +00:00
d6416ada4e Set $NIX_PREFETCH_SVN_LEAVE_DOT_SVN to 1. 2009-12-03 15:03:06 +00:00
94634773b1 support git branches as input in stead of only master branch 2009-11-23 13:38:27 +00:00
06dc6d8f86 * for git inputs, check latest revision of branch (defaults to master for now), if there is change, only use input if last checkout was > hour ago. 2009-11-19 08:15:49 +00:00
2b5ef66111 Ask nix-prefetch-git' to leave .git' in the output. 2009-11-18 16:42:35 +00:00
cdfc96194c Use $NIX_PREFETCH_GIT_CHECKOUT_HOOK to produce a `.git-version' file. 2009-11-18 16:25:47 +00:00
f55e0444c9 project with 0 build resulted in error 2009-11-18 12:59:58 +00:00
2fb05b34bf add support for git as jobinput 2009-11-17 15:16:41 +00:00
7eda090e74 * Prevent repeated evaluation of a jobset with the same inputs. This
should make the Hydra scheduler a lot less CPU-intensive, since it
  won't run hydra_eval_jobs all the time.
2009-11-17 13:55:22 +00:00
e25f112b82 * Implemented the clone feature. 2009-10-26 17:01:23 +00:00
e1373fa1c3 * Refactoring: move fetchInput out of hydra_scheduler into a separate
module, since Controller/Build.pm needs it to create a new build.
2009-10-26 15:39:14 +00:00
d1bea30cfc * Editing releases. 2009-10-23 12:42:50 +00:00
2cf42489e2 * More renaming. 2009-10-20 12:35:01 +00:00
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
d109910453 * paging for releases page 2009-10-15 11:13:36 +00:00
f1611a7edd check if HYDRA_DBI is defined in stead of empty string comparison 2009-05-09 16:00:08 +00:00
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
000fffeb11 2009-04-25 11:27:46 +00:00
3c47a11bd9 * Don't disable fsync in production. 2009-04-25 07:48:30 +00:00
97a6011628 * Hack around those SQLite timeouts: just retry the transaction. 2009-04-22 22:43:04 +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
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
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
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
d2fc382498 * Register GC roots properly. 2009-03-15 11:56:11 +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
ae364b9e5f * Represent jobs explicitly in the DB. 2009-03-13 14:49:25 +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
97ed2052ba * Move everything up one directory. 2009-03-05 13:41:57 +00:00