Commit graph

43 commits

Author SHA1 Message Date
Rob Vermaas 4550ced942 Hydra/28: Rename "scheduler" to "evaluator" 2010-05-11 11:09:58 +00:00
Rob Vermaas 2bfddaf4ae Hydra/23: added some X-headers with meta info in email notifications, added more descriptive status 2010-04-26 14:36:56 +00:00
Eelco Dolstra 82a325a8cd * $currentBuilds{id} can be 0. 2010-03-05 17:48:00 +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
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
Rob Vermaas 4a9234bc1d probably shouldn't leave in the debug statements 2010-01-12 08:40:41 +00:00
Rob Vermaas 3763748dbb revert unmeant previous change which caused errors to stay, even after successful evaluation of jobs 2010-01-12 08:39:30 +00:00
Rob Vermaas 791a6eddd6 hack to try and prevent too many newlines 2010-01-07 13:53:05 +00:00
Rob Vermaas 8a01999220 hydra
* remove trailing spaces from email notification
 * option to disable email notification for jobset
2010-01-06 13:07:59 +00:00
Rob Vermaas 044edfb764 * email notification of evaluation errors to project owner (if desired) 2009-12-18 12:07:45 +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 f72367407a * Some renaming. 2009-10-26 15:55:19 +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 cb2493eca9 * Store the jobset's nixExprPath and nixExprInput fields in a build to
allow it to be cloned (re-executed with modified inputs) later and
  to provide some traceability.
2009-10-26 13:33:48 +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 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 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 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 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 000fffeb11 2009-04-25 11:27:46 +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 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 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 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 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 a6e84d8431 * Option to show the tail of a log. 2009-03-16 12:16:33 +00:00
Eelco Dolstra d2fc382498 * Register GC roots properly. 2009-03-15 11:56:11 +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 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 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 97ed2052ba * Move everything up one directory. 2009-03-05 13:41:57 +00:00
Renamed from src/Hydra/script/hydra_scheduler.pl (Browse further)