Commit Graph

1812 Commits

Author SHA1 Message Date
a84db1c7cc Use extra-binary-caches 2013-05-07 15:57:20 +02:00
9947415ef0 Remove Twitter notification support
Turns out Twitter is not an ideal medium for sending build
notifications :-)
2013-05-03 18:33:11 +02:00
f762d111f1 If a build step fail, immediately fail all queued builds that depend on it
This prevents unnecessary work, but it's mostly a refactoring to
support combining notification emails.
2013-05-03 18:30:13 +02:00
507e5bb190 Drop unused "disabled" columns 2013-05-03 16:39:17 +02:00
906b129f6a Fix findBuildDependencyInQueue
Previously this function didn't actually have a lot of effect.  If a
build A had a dependency B, Hydra would start B first.  But on the
next scan through the queue, it would start A anyway, because of the
"busy => 0" restriction.

Now the queue runner won't start a build if a dependency is already
running.  (This is not necessarily optimal, since the build may have
other dependencies that don't correspond to a build in the queue but
could run.  One day we'll start all Hydra builds in parallel...)

Also, for performance, use computeFSClosure instead of "nix-store
-qR".  And don't bother with topological sorting because it didn't
have an effect anyway since the database returns dependencies in
arbitrary order.
2013-05-03 16:27:26 +02:00
9e72c64eff Restore the links to the contents pages
These were accidentally lost in
80e0e7c84a.
2013-05-03 14:13:14 +02:00
e96916533f Allow a per-jobset check interval
This allows checking a jobset (say) at most once a day.  It's also
possible to disable polling by setting the interval to 0.  This is
useful for jobsets that use push notification or are manually
evaluated.
2013-05-02 17:55:47 +02:00
edaeb892e7 reproduce.tt: Use color 2013-05-02 17:55:47 +02:00
a468a28840 reproduce.tt: Check for the presence of commands like nix-build 2013-05-02 17:55:47 +02:00
659898bd67 reproduce.tt: Add --help flag
And a --dir flag to override the directory where inputs etc. are
stored.
2013-05-02 17:55:47 +02:00
adb9ad83dd hydra-evaluator: Respect triggers of disabled jobsets
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-02 11:32:25 -04:00
b8ea428bb1 Allow manually scheduling disabled jobsets for evaluation
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-02 11:21:43 -04:00
3003bb1c99 Don't fall thru to Hydra::View::NARInfo
This caused exceptions like:

  Caught exception in Hydra::Controller::Build->view_build "writing to file: Broken pipe at /nix/store/ihdb3widsq1dk7sbl5vqjxfcxb5ypad4-hydra-0.1pre1297-8158093/libexec/hydra/lib/Hydra/Controller/Build.pm line 59."

because the connection to the Nix daemon would be terminated due to a
protocol violation (calling queryPathInfo with an empty string).
2013-04-30 16:23:19 +02:00
45a1bb9926 Remove unnecessary parentheses in SQL query
These make SQLite 3.7.16.2 crash.

http://hydra.nixos.org/build/4815315
2013-04-29 21:38:57 +02:00
8158093884 Add correct bootstrap-2.3.1.zip 2013-04-29 09:54:01 +02:00
7fe63854fb Replace bootstrap tarball 2013-04-28 07:06:24 +02:00
80e0e7c84a Use popovers for the product list help/details 2013-04-26 17:51:06 +02:00
ea4c88bda1 Use a popover to show how to use the build reproduction script 2013-04-26 17:51:06 +02:00
7bd1fab268 Use the default navbar style for readability 2013-04-26 17:51:06 +02:00
74262dd9c4 Remove project/jobset/job/build id from the navbar
They take up too much space, and they're visible in the page title
anyway.  But include them as a nav-header in the submenus.
2013-04-26 17:51:05 +02:00
ac2bdaf1c5 Remove tablesorter
We haven't used it for a while now.
2013-04-26 17:51:05 +02:00
4a2cb5e206 Update bootstrap to 2.3.1 2013-04-26 17:51:05 +02:00
bbc3e25d5a Use bootstrap's pager (instead of pagination) class 2013-04-26 17:51:05 +02:00
67ed2da50d Add some gitignores 2013-04-26 17:51:05 +02:00
002793bf2d makeLink -> menuItem 2013-04-26 17:51:05 +02:00
77a0fd9488 Remove unused file 2013-04-26 17:51:05 +02:00
3058ce2ca3 Don't do <tt> on input type 2013-04-26 17:51:05 +02:00
71eaa115f8 Ellipsize long jobset/job names to prevent bootstrap navbar breakage 2013-04-26 17:51:05 +02:00
fd7acd9bbf When searching a path / drv path, use separate queries for both options to prevent seq. scan. 2013-04-26 08:51:49 -04:00
591aee0793 getPrimaryBuildsForView: Return all view results
Returning only the first 20 results can cause NixOS/Nixpkgs channel
generation to fail, if the first 20 view results correspond to
evaluations that haven't finished yet.  Then URLs like
/view/nixos/tested/latest-finished will return 500 rather than the
latest finished view.
2013-04-26 13:21:41 +02:00
bfc1b0e76a Allow searching for store and drv paths. Only does a complete match to reduce load on database. 2013-04-25 09:57:30 -04:00
2c7a479994 Minor tweak 2013-04-23 15:39:05 +02:00
72a44cfcaa Make negative narinfo responses much smaller 2013-04-23 15:33:58 +02:00
54b03527cb Remove some redundant SQL queries 2013-04-23 15:23:08 +02:00
7528a9c7e7 Machine status: Don't show removed machines anymore
This requires a sequential scan on the BuildSteps table, which by now
takes > 8s.
2013-04-23 15:20:24 +02:00
b3612b8a81 Fix showing build steps in the machine status page
This was broken because of the comparison

  step.machine.match('@(.*)').0 == m.key

where m.key contains the SSH user.

Also some style tweaks.
2013-04-23 14:24:48 +02:00
bd5454d5d9 hydra-eval-guile-jobs: Use `--fresh-auto-compile'.
* src/script/hydra-eval-guile-jobs.in (main): Run `guile' with
  `--fresh-auto-compile'.
2013-04-13 18:59:42 +02:00
7807ff27b7 Fix the test 2013-04-12 01:24:16 +02:00
4b517488d0 Merge pull request from peti/update-hydra-check-space-for-systemd
hydra-module.nix: update hydra-check-space for systemd
2013-04-11 03:45:31 -07:00
ccbe75781b hydra-queue-runner: don't clutter the system log with debug message
Avoid the frequently printed

  hydra-queue-runner[10293]: system type `x86_64-linux': 2 active, 2 allowed, starting 0 builds

message. That information is only interesting when some build are
actually started.
2013-04-11 10:56:40 +02:00
b0d6993a6c hydra-module.nix: update hydra-check-space for systemd
The "stop" alias is not available to this script when run from cron.
2013-04-11 10:48:07 +02:00
9f027b22b1 Allow users to reproduce builds on their own systems
You can now do:

  bash <(curl http://hydra-server/build/1238757/reproduce)

to download and execute a script that reproduces a Hydra build
locally.  This script fetches all inputs (e.g. Git repositories) and
then invokes nix-build.

The downloaded sources are stored in /tmp/build-<buildid> and reused
between invocations of the script.

Any additional command line options are passed to nix-build.  So

  bash <(curl http://hydra-server/build/1238757/reproduce) --run-env

will drop you in a shell where you can interactively hack on the
build, e.g.

  $ source $stdenv/setup
  $ set +e
  $ unpackPhase
  $ cd $sourceRoot
  $ configurePhase
  $ emacs foo.c &
  $ make

and so on.
2013-04-04 17:30:07 +02:00
48bb9c48ed Security: Prevent shell injection attack in rendering build contents 2013-04-03 00:13:03 +02:00
841e03ecba Hack to render empty lines in logs correctly 2013-04-02 23:40:19 +02:00
e7926e046b Security: Improve checking of build products
Build product paths cannot reference locations outside of the Nix
store.  We previously disallowed paths from being symlinks, but this
didn't take into account that parent path elements can be symlinks as
well.  So a build product /nix/store/bla.../foo/passwd, with
/nix/store/bla.../foo being a symlink to /etc, would still work.

So now we check all paths encountered during path resolution.
Symlinks are allowed again so long as they point to the Nix store.
2013-04-02 23:32:04 +02:00
94984270b0 Pretty log: Number lines and make them linkable 2013-04-02 11:25:46 +02:00
b8369a6a5f Put build status in front of the notification mail subject 2013-04-02 10:40:50 +02:00
16dbec332d Postgresql 8.x needs as for column. 2013-04-01 20:18:00 -04:00
d11b08aa51 Fix the tests 2013-03-29 01:34:59 +01:00
61405ec58a hydra-eval-jobs: Use function argument default values 2013-03-29 01:14:24 +01:00