Commit Graph

189 Commits

Author SHA1 Message Date
c620bc2be0 test.api: use Hydra perl dependencies to run api-test.pl
The test was failing with:

    machine# Can't locate LWP/UserAgent.pm in @INC (you may need to install the LWP::UserAgent module)...
2019-06-21 16:57:12 +02:00
bcb1c2916d release: bump to 19.03 2019-04-26 15:14:27 +02:00
e9d032bfe9 Fix Linux build on Darwin
Without this patch running the following on MacOS:

  nix-build release.nix -A build.x86_64-linux

results in the following error during the configuration phase (note that Nix
should be configured with a x86_64-linux build machine):

  building '/nix/store/jb6ca1gmplyb69ayd43z7fb0y9npxd53-hydra-0.1.2581.8b5948f4cf12424c04df67a6eb136c9846fb2cfd.drv' on 'ssh://my-linux-build-machine'...
  ...
  checking whether /nix/store/s6bhdppx66bkgf741vk4d29hgsj1h1zp-hydra-perl-deps/bin/nix-store is recent enough... ./configure: line 16254: /nix/store/s6bhdppx66bkgf741vk4d29hgsj1h1zp-hydra-perl-deps/bin/nix-store: cannot execute binary file: Exec format error
  no
  configure: error: `/nix/store/s6bhdppx66bkgf741vk4d29hgsj1h1zp-hydra-perl-deps/bin/nix-store' doesn't support `--timeout'; please use a newer version.
  build time elapsed:  0m1.624s 0m1.774s 0m9.366s 0m6.110s
  builder for '/nix/store/jb6ca1gmplyb69ayd43z7fb0y9npxd53-hydra-0.1.2581.8b5948f4cf12424c04df67a6eb136c9846fb2cfd.drv' failed with exit code 1

This problem is that the `nix` dependency of hydra is selected from a nixpkgs
set configured with a default `system` parameter,
i.e. `builtin.currentSystem`. This means that the hydra derivation which is
build for and on Linux depends on the nix derivation build for Darwin.

The fix is to select nix from the nixpkgs set configured with a system specified
by the user.
2019-03-15 11:27:16 +01:00
3ef253c65f also add CatalystXRoleApplicator
f7fe61207b
2018-10-30 15:11:01 +01:00
6d693b6b2a fix hydra build on nixpkgs master
copied from c501958535
2018-10-30 14:50:22 +01:00
8d26144121 Fix building against nix master 2018-10-30 14:41:21 +01:00
4dca8fe14d Gradually increase maxHeapSize 2018-08-07 11:47:53 +02:00
1a899890ac Use nixUnstable 2018-07-31 21:19:10 +02:00
b11789f399 Add boost dependency 2018-06-05 13:24:23 +02:00
821f8bf5a0 release.nix: Use fetchGit to get Nixpkgs 2018-06-05 13:24:23 +02:00
691f7e168c Fix building on Nixpkgs 17.09 2018-05-10 15:11:24 +02:00
cb43da06f3 Use Nix 2.0 and default GCC 2018-03-07 09:52:18 +01:00
3ec73c93e2 Remove unused dependency on aws-sdk-cpp 2018-02-23 16:47:24 +01:00
5216b7eb2c Don't rely on ${LOGNAME:-foo} evaluating to a string 2017-11-14 15:11:14 +01:00
d9cbf8cf01 Use PostgreSQL 9.5
9.2 is no longer in Nixpkgs.
2017-09-22 15:18:22 +02:00
7e9b6acbce Fix perl search path; avoid reference to build path (#471)
Fixes #460
2017-08-10 14:13:00 +02:00
8abc595d1c preHook -> shellHook
Adding the build directory to $PERL5LIB causes it to end up in the
wrapper scripts, which is bad.
2017-05-04 15:25:22 +02:00
468b048fa2 Revert "Move build logic for the core hydra package into its own default.nix."
This reverts commit 949e5865c6. This
makes release.nix harder to read/maintain IMHO. There already is a Nix
expression for Hydra in Nixpkgs that can be used for this purpose.
2017-04-12 13:10:01 +02:00
949e5865c6 Move build logic for the core hydra package into its own default.nix.
This allows users to build hydra using a normal mkDerivation, package overrides, etc.
2017-04-11 13:07:46 -04:00
a0376a92e5 Add dependency on nix-perl
Fixes #459.
2017-04-11 15:48:22 +02:00
a366f362e1 Use latest nixUnstable 2017-02-03 14:39:18 +01:00
aef048b3cb Bump Nix dependency 2016-11-16 17:52:26 +01:00
cb5e438a08 Bump Nix
Fixes #398.
2016-11-09 19:15:13 +01:00
2b790ceefa Remove the pretty-printed log
It didn't work anymore due to the removal of nix-log2xml. And in any
case XSL is the work of the devil.
2016-10-27 14:43:17 +02:00
3b84d4711b Bump Nix 2016-10-26 15:10:56 +02:00
881d3bc017 Bump Nix 2016-10-21 19:19:28 +02:00
e0b2921ff2 Concurrent hydra-evaluator
This rewrites the top-level loop of hydra-evaluator in C++. The Perl
stuff is moved into hydra-eval-jobset. (Rewriting the entire evaluator
would be nice but is a bit too much work.) The new version has some
advantages:

* It can run multiple jobset evaluations in parallel.

* It uses PostgreSQL notifications so it doesn't have to poll the
  database. So if a jobset is triggered via the web interface or from
  a GitHub / Bitbucket webhook, evaluation of the jobset will start
  almost instantaneously (assuming the evaluator is not at its
  concurrency limit).

* It imposes a timeout on evaluations. So if e.g. hydra-eval-jobset
  hangs connecting to a Mercurial server, it will eventually be
  killed.
2016-10-14 14:22:12 +02:00
303718dbd6 Doh 2016-10-10 15:26:50 +02:00
0b5a7472be Add a job for the manual 2016-10-10 15:26:18 +02:00
633724cc8a services.hydra -> services.hydra-dev
Since Nixpkgs 16.09 contains a Hydra module, we were getting a
conflict. I guess we should have a way to override modules in
Nixpkgs...
2016-10-10 11:29:15 +02:00
2f0d2f8d91 Bump Nix 2016-10-10 11:18:17 +02:00
fb0d2d2dda Build against the bleeding edge of Nix 2016-10-06 17:26:12 +02:00
934829a1a9 Remove NetStatsd since it's also in Nixpkgs 2016-10-06 14:50:59 +02:00
23bf99b8e2 Use pixz instead of bzip2 for compressing nars
According to following two benchmarks:

- https://www.rootusers.com/gzip-vs-bzip2-vs-xz-performance-comparison/
- http://catchchallenger.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO

xz has better compression ratio than bzip2 at lowest compression rate.

https://github.com/vasi/pixz has been chosen as it can scale compressing
over multiple cores linearly.

We're using this in snabblab for a month now and it has improved CPU
wise the main Hydra server.
2016-08-12 11:39:07 +02:00
2c78a92ac5 release.nix: add missing dependency on nix 2016-05-09 18:35:24 +02:00
3f5ccfc7f3 release.nix use makeBinPath to construct PATH
makeBinPath takes care to use the correct output.

nix-repl> lib.makeSearchPath "bin" [pkgs.nix]
"/nix/store/zpp83pr21ihxwsr15l6mkzwkr49zj71d-nix-1.11.2-dev/bin"

nix-repl> lib.makeBinPath [pkgs.nix]
"/nix/store/9n8c3g541qn43yjjs94f1a0m69wp8scg-nix-1.11.2/bin"
2016-04-29 04:23:54 +02:00
aa4c1fb1ab Fix version 2016-03-22 17:26:50 +01:00
aba2356932 Restore path in nix-shell 2016-03-22 16:59:05 +01:00
1332463b02 Don't wrap C++ programs 2016-03-22 13:35:09 +01:00
e624652dd8 Use patched aws-sdk-cpp 2016-03-22 13:11:30 +01:00
a727643286 inNixShell considered harmful 2016-03-22 13:10:37 +01:00
74426e6820 Simplify running nix-shell
This also removes building a separate source tarball or building a PDF
manual since it's unlikely anybody cares.
2016-03-22 12:53:28 +01:00
2d40888e2e Add an S3-backed binary cache store 2016-02-18 16:18:50 +01:00
993647d1e3 Use Google's verifier 2016-01-14 12:54:47 +01:00
5a580b1bb2 Add support for logging in via a Google account
The required configuration in hydra.conf:

  enable_google_login = 1
  google_client_id = 238429sdjkds....apps.googleusercontent.com

and optionally persona_allowed_domains to restrict to one or more
domains.
2016-01-13 17:32:52 +01:00
1b1fdb3f8d Revert "Don't wrap hydra-queue-runner / hydra-eval-jobs"
This reverts commit f8ee98f455.
2015-10-31 15:32:19 +01:00
f8ee98f455 Don't wrap hydra-queue-runner / hydra-eval-jobs 2015-10-30 18:13:23 +01:00
53d270c007 Enable debug info 2015-10-30 18:12:30 +01:00
7b9f488949 Check Nix version 2015-10-14 13:17:24 +02:00
69e9f73cf6 Use nixUnstable for the tarball
Not needed for building, only for dev-shell.
2015-08-17 11:17:54 +02:00