Commit Graph

48 Commits

Author SHA1 Message Date
2e3899ed27 Don't set Expires header for logs of unfinished builds/steps 2015-08-12 12:22:14 +02:00
0da08df4eb Stream logs if possible and remove size limit 2015-07-08 19:05:17 +02:00
c6d504edbb Handle SSH hosts without a @ 2015-06-17 13:49:18 +02:00
00e03b9db5 For consistency, Use base32 hashes in manifests 2015-02-19 12:44:52 +01:00
69adcd4be1 Update binary cache signing to Nix 1.9 2015-02-17 20:15:37 +01:00
9e00d98d34 Shut up some Perl 5.20 warnings 2014-11-25 00:27:52 +01:00
c250407f3c Set Expires headers for Hydra's binary cache
This allows caching by reverse proxies.
2014-11-06 14:31:48 +01:00
9b38b5f134 Remove the longDescription field
It's not useful and takes up a lot of space.
2014-09-30 15:44:09 +02:00
1306291c6c Handle utf-8 properly
Fixes errors like:

  Caught exception in engine "Wide character in syswrite at /nix/store/498lwsrn5kkdh1q8kn3vcpd3457w6m7a-hydra-perl-deps/lib/perl5/site_perl/5.16.3/Starman/Server.pm line 547."

Note that these errors didn't happen if the database encoding was set
to SQL_ASCII (which was the case for hydra.nixos.org, explaining why
it didn't get these errors). However, now the encoding must be
UTF8. To change it, do:

  update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'hydra';
2014-05-01 16:33:25 +02:00
be63c50560 Show whether a job still exists
In the dashboard and on the job page, indicate whether the job appears
in the latest jobset eval. That way, the user gets some indication if
a job has accidentally disappeared (e.g. due to an evaluation error).
2014-04-08 18:50:37 +02:00
a598fe7e81 Allow Hydra's binary cache to be signed
This requires adding the following to hydra.conf:

  binary_cache_key_name = <key-name>
  binary_cache_private_key_file = <path-to-private-key>

e.g.

  binary_cache_key_name = hydra.nixos.org-1
  binary_cache_private_key_file = /home/hydra/cache-key.sec
2014-01-08 15:19:17 +01:00
0ec03aa0f4 Handle builds with multiple outputs correctly in Hydra channels 2013-10-07 17:06:17 +02:00
5ccff14f6b In Hydra channels, show only packages matching the user's system type
Fixes NixOS/nix#169.
2013-10-07 14:53:27 +02:00
04e6eda4c7 Remove unused function 2013-09-03 20:29:52 +02:00
fd7e37ef89 Try harder to find build logs
Due to the fixed-output derivation hashing scheme, there can be
multiple derivations of the same output path.  But build logs are
indexed by derivation path.  Thus, we may not be able to find the
log of a build or build step using its derivation.  So as a fallback,
Hydra now looks for other derivations with the same output paths.
2013-08-30 13:53:25 +00:00
2d5e06918b Hydra::View::Plain: Explicitly set the response body.
This fixes a bug with Catalyst 1.39 whereby a raw hash table would
erroneously be returned for /nix-cache-info.
2013-07-12 16:53:48 +02:00
fe030331b5 Revert "Don't compress already-compressed files."
This reverts commit 190bffd846.
2013-07-01 18:46:18 +02:00
11414b0447 Revert "Doh"
This reverts commit f1f938512d.
2013-07-01 18:46:14 +02:00
f1f938512d Doh 2013-07-01 18:12:33 +02:00
190bffd846 Don't compress already-compressed files.
Fixes <https://github.com/NixOS/hydra/issues/102>.
2013-06-23 15:23:16 +02:00
71eaa115f8 Ellipsize long jobset/job names to prevent bootstrap navbar breakage 2013-04-26 17:51:05 +02:00
10882a1ffd Add multiple output support
This requires turning the outPath columns in the Builds and BuildSteps
tables into separate tables, and so requires a schema upgrade.
2013-02-13 16:49:28 +00:00
e555c7bb36 Automatically chomp all [%...%] directives
This makes the use of [%-...-%] unnecessary.
2013-02-05 14:00:09 +01:00
e0de5de91d Fix some warnings 2013-01-23 12:41:57 +00:00
30e5185acf Remove the logfile and logSize columns from the database
It's pointless to store these, since Nix knows where the logs are.
Also handle (in fact require) Nix's new log storage scheme.  Also some
cleanups in the build page.
2013-01-22 22:48:02 +01:00
67aefde62c Remove trailing whitespace 2013-01-22 14:41:02 +01:00
aa28ffe3a8 Die tabs die 2013-01-22 14:09:37 +01:00
d15dd6bac9 Include the URL of the binary cache in .nixpkg files 2012-07-30 20:26:11 +00:00
2ab4c7d597 Update queryPathInfo calls 2012-07-18 23:14:45 +02:00
1b3cf68b77 Generate *.narinfo files on the fly to support the binary cache substituter 2012-07-02 20:09:45 +02:00
fdf441a8b7 Set utf-8 encoding on raw log pages 2012-05-25 14:27:56 +00:00
334135448e Remove buildtime and runtime dependency graph. It is useless on normal derivations. 2012-04-16 15:23:07 +02:00
c613b885f2 Use the new Nix Perl bindings 2011-11-30 15:25:28 +01:00
5333c67bf9 Prevent an unnecessary SQL query for every package in the NixExprs view 2011-11-30 14:27:46 +01:00
d8a7ca67f4 * Start of a JSON API to get information about a specific build.
E.g. http://server/build/1341335/api/get-info returns a JSON 
  record containing information about the build.
2011-09-15 08:27:17 +00:00
a75a12e819 * Include the system type in manifests as a hint for the
binary patch generator.
2010-11-26 14:34:58 +00:00
a93e272364 * Add a NarSize field to Hydra manifests. This allows nix-env
to predict how much disk space a package will require.
* Compute the output / closure size using the info stored in the
  Nix database (rather than doing a slow "du").
2010-11-19 15:44:20 +00:00
e35f0005e6 * Move NARs from the NixChannel controller to the Root controller and
drop the "/nix/store".  I.e. instead of

    http://hydra.nixos.org/jobset/nixpkgs/trunk/channel/latest/nar/nix/store/99djmii6l4yw9gn07zxqabh8z58pp84c-libmspack-0.0.20040308alpha.drv 

  we now have

    http://hydra.nixos.org/nar/99djmii6l4yw9gn07zxqabh8z58pp84c-libmspack-0.0.20040308alpha.drv 

  The main reason is that this is much faster, since we don't need to
  get all the channel data (which isn't used anyway for NAR
  generation).  This speeds up downloading a NAR from the Nixpkgs
  channel by > 2 seconds.

* Drop "Hydra::View::" from view names to get rid of an ugly warning.
2010-06-22 12:00:19 +00:00
abfd6507b2 * Escape the outPath in the generated nixexpr.tar.bz2 in channels, because
store paths with `=' in them (such as 
  /nix/store/chj5wrbmi43zjx77svlr4lgnrqi9pwfy-guile-CPPFLAGS=-DSCM_DEBUG=1-1.9.8.113)
  broke it.
2010-03-17 16:49:52 +00:00
b9c1f9aca7 * Call computeFSClosure() directly. 2010-03-04 14:15:13 +00:00
a7d132ff2a * Escape +', =' and `?' in NAR URIS in manifests. Otherwise you get
an incorrect URI that gives a 410 error.
2010-02-09 16:11:35 +00:00
fabc8e4774 * Disable the statistics on the project, jobset and job pages for now
because they take too much time to compute.
2010-02-09 12:35:20 +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
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
a6e84d8431 * Option to show the tail of a log. 2009-03-16 12:16:33 +00:00
8b752627a2 * Use IO::Handles instead of old school filehandles. This ensures
that the pipe gets closed, and the child process dies, if the HTTP
  connection is prematurely interrupted.
2009-03-11 14:44:34 +00:00
6dc9e45fc8 * Doh. 2009-03-09 17:37:57 +00:00
97ed2052ba * Move everything up one directory. 2009-03-05 13:41:57 +00:00