Commit graph

295 commits

Author SHA1 Message Date
Rob Vermaas
56f05f2bdf Hydra/26: Go back to using "svn export" as default for svn, added svn-checkout type for jobset which need .svn dirs. export is much more efficient 2010-05-11 11:37:30 +00:00
Rob Vermaas
161b88cfd0 * hydra: on git ls-remote add refs/heads/ prefix to branchname to avoid other branches called master (or $branchname) 2010-03-15 10:02:30 +00:00
Rob Vermaas
1c4585dae3 * hydra: project members can do stuff that the owner can do 2010-03-10 10:02:04 +00:00
Eelco Dolstra
b8a78b2c3f * Support linking to the latest job in a view for a specific platform, e.g.
http://.../view/nixos/tested/latest/iso-minimal-i686-linux.
2010-03-07 11:24:06 +00:00
Eelco Dolstra
70466156e6 * In views, support selecting a job that doesn't depend on the
primary job, but is in the same jobset.
2010-03-05 17:20:04 +00:00
Eelco Dolstra
3501fa6465 * Cleanup. 2010-03-05 16:37:24 +00:00
Eelco Dolstra
da25c963eb * Clean up indentation. 2010-03-05 16:16:49 +00:00
Eelco Dolstra
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
Eelco Dolstra
00b2f7c141 * Don't access /nix/var/nix/db directly but use the Nix Perl bindings. 2010-03-04 13:25:12 +00:00
Rob Vermaas
a1c7e359be * hydra: indentation and fixed duplicate key in cachedgitinputs bug 2010-02-24 08:09:58 +00:00
Rob Vermaas
529a6cf6eb * hydra: buildpage, show changes since last build/successful build 2010-02-22 13:21:34 +00:00
Eelco Dolstra
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
Ludovic Courtès
e1f45498c9 Set $NIX_PREFETCH_GIT_DEEP_CLONE. 2010-01-25 13:26:37 +00:00
Eelco Dolstra
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
Rob Vermaas
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
Ludovic Courtès
d6416ada4e Set $NIX_PREFETCH_SVN_LEAVE_DOT_SVN to 1. 2009-12-03 15:03:06 +00:00
Rob Vermaas
94634773b1 support git branches as input in stead of only master branch 2009-11-23 13:38:27 +00:00
Rob Vermaas
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
Ludovic Courtès
2b5ef66111 Ask nix-prefetch-git' to leave .git' in the output. 2009-11-18 16:42:35 +00:00
Ludovic Courtès
cdfc96194c Use $NIX_PREFETCH_GIT_CHECKOUT_HOOK to produce a `.git-version' file. 2009-11-18 16:25:47 +00:00
Rob Vermaas
f55e0444c9 project with 0 build resulted in error 2009-11-18 12:59:58 +00:00
Rob Vermaas
2fb05b34bf add support for git as jobinput 2009-11-17 15:16:41 +00:00
Eelco Dolstra
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
Eelco Dolstra
e25f112b82 * Implemented the clone feature. 2009-10-26 17:01:23 +00:00
Eelco Dolstra
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
Eelco Dolstra
d1bea30cfc * Editing releases. 2009-10-23 12:42:50 +00:00
Eelco Dolstra
2cf42489e2 * More renaming. 2009-10-20 12:35:01 +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
d109910453 * paging for releases page 2009-10-15 11:13:36 +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
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
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
97a6011628 * Hack around those SQLite timeouts: just retry the transaction. 2009-04-22 22:43:04 +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
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
c970fc8335 * Urgh. 2009-03-31 15:59:47 +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
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
d2fc382498 * Register GC roots properly. 2009-03-15 11:56:11 +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
ae364b9e5f * Represent jobs explicitly in the DB. 2009-03-13 14:49:25 +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
97ed2052ba * Move everything up one directory. 2009-03-05 13:41:57 +00:00