Eelco Dolstra
a0376a92e5
Add dependency on nix-perl
...
Fixes #459 .
2017-04-11 15:48:22 +02:00
Eelco Dolstra
c2c2633e50
Fix link to cached build log
...
Fixes #462 .
2017-04-11 14:25:48 +02:00
Eelco Dolstra
433b94ee68
Fix Mercurial diff
...
It only showed the log messages of $rev1 and $rev2. Now it shows the
range $rev1::$rev2, excluding $rev1.
2017-04-11 13:39:54 +02:00
Eelco Dolstra
585d3274e3
Better error message if jobset doesn't evaluate to an attrset
2017-04-11 13:01:15 +02:00
Shea Levy
7e3f12fe10
Merge branch 'decl-project-remote-store'
2017-04-10 11:36:41 -04:00
Domen Kožar
81fee456c2
fix #425 : parsable config by hydra-queue-runner
2017-04-10 14:59:58 +02:00
Eelco Dolstra
426aea1236
hydra-queue-runner: Allow multiple concurrent daemon connections
2017-04-06 18:50:53 +02:00
Eelco Dolstra
5810042a3b
Periodically clear Store's path info cache
...
Otherwise the queue runner can consider paths as valid that have been
garbage-collected since the first time it queried them.
2017-04-06 17:20:23 +02:00
Eelco Dolstra
8364f4ec70
Upload log files to the right location
...
We were mixing up builds and steps. So for example
https://cache.nixos.org/log/2w66a98iqbjdppc5s2b8qvhi3gprvy45-freecell-solver-4.8.0.drv
at the moment contains the log for
/nix/store/442r9d5ihbcpgq8q9dhijhvhlmplzp96-perl-namespace-autoclean-0.28.drv
because the latter is a step in http://hydra.nixos.org/build/51300420 .
Oops.
2017-04-06 13:05:30 +02:00
Eelco Dolstra
fec895a642
hydra-server: Support logs in S3
2017-04-05 17:55:56 +02:00
Eelco Dolstra
4f11cf45dc
Fix build cancellation
...
We nowadays ignore SIGINT, so the sshd child process inherited this
and ignored SIGINT as well.
2017-04-05 11:01:57 +02:00
Shea Levy
a738f826e8
declarative projects: Pull jobset spec build from the remote store
...
Fixes #443
2017-04-01 10:38:49 -04:00
Richard Zetterberg
3e0ee24b87
Adds documentation for the external API ( #441 )
...
Documents all the endpoints that can be used to retrieve data from
the API without authenticating.
Authentication and manipulating data with the API is not documented.
2017-04-01 11:20:49 +02:00
Will Dietz
90870f1416
NixExprs.pm: encode default.nix as utf-8 to fix missing chars/data. ( #455 )
...
cc #254
2017-04-01 11:18:51 +02:00
Eelco Dolstra
147ba3ca31
Set proper charset on log files
2017-03-31 18:00:08 +02:00
Shea Levy
ec1c8efd43
Merge branch 'eval-no-build-hook'
2017-03-30 13:19:37 -04:00
Eelco Dolstra
8771f7f913
Merge pull request #382 from shlevy/cached-build-notifications
...
Send BuildFinished notifications on cached build results.
2017-03-29 18:52:20 +02:00
Eelco Dolstra
57bc0eaead
hydra-queue-runner: Limit concurrent database connections
...
Adding a 96-core aarch64 build machine to the build farm caused the
potential number of database connections to increase a lot, so we
started hitting the Postgres connection limit.
2017-03-21 11:53:46 +01:00
Shea Levy
3b5fd2d857
hydra-eval-jobs: Disable the build hook.
...
For some reason this causes an unexpected EOF when doing import-from-derivation.
2017-03-20 12:57:05 -04:00
Eelco Dolstra
150228d7de
Upload build logs to the binary cache
2017-03-15 16:59:57 +01:00
Eelco Dolstra
7e6486e694
Move log compression to a plugin
2017-03-15 16:59:57 +01:00
Eelco Dolstra
285754aff6
hydra-evaluator improvements
...
* The "Jobset" page now shows when evaluations are in progress (rather
than just pending).
* Restored the ability to do a single evaluation from the command line
by doing "hydra-evaluator <project> <jobset>".
* Fix some consistency issues between jobset status in PostgreSQL and
in hydra-evaluator. In particular, "lastCheckedTime" was never
updated internally.
2017-03-15 16:59:57 +01:00
Eelco Dolstra
242ea8009f
hydra-evaluator: Don't use the "timeout" command
...
"timeout" does not propagate PR_SET_PDEATHSIG, so it prevents
hydra-eval-jobset from being killed when hydra-evaluator quits.
2017-03-15 16:59:56 +01:00
Eelco Dolstra
d1afb42f12
Supress debug message
2017-03-15 16:59:56 +01:00
Eelco Dolstra
73900e9f5f
Fix std::stoi exception
2017-03-08 15:07:52 +01:00
Eelco Dolstra
edebdf33f0
hydra-queue-runner: Handle SIGINT
2017-03-03 12:41:00 +01:00
Eelco Dolstra
500c27e4d5
Add hydra.conf option "nar_buffer_size" to configure memoryTokens limit
...
It defaults to half the physical RAM.
2017-03-03 12:37:27 +01:00
Eelco Dolstra
7c3e5c99c0
Include nix/config.h
2017-03-03 12:33:22 +01:00
Rob Vermaas
fd754d678e
Do not trigger eval on jobset change when check interval is 0 (disabled).
2017-02-23 09:15:26 +00:00
Eelco Dolstra
9f6afb3375
Lock paths in the scm cache
...
This is necessary now that hydra-evaluator runs multiple evaluations
in parallel, to prevent corruption of Git/Mercurial clones.
2017-02-21 18:12:52 +01:00
Eelco Dolstra
52753e49c2
hydra-evaluator: Handle SIGINT
...
This makes "systemctl stop hydra-evaluator" work promptly again.
2017-02-21 17:54:31 +01:00
Eelco Dolstra
81ac547d2b
Move most of AddBuilds to hydra-eval-jobset
...
Having this stuff in a separate module is a remnant of the time when
hydra-server could add builds to the queue directly. This is no longer
the case.
2017-02-21 17:20:48 +01:00
Eelco Dolstra
7081f97f3a
Pedantry: CLOCK_REALTIME -> CLOCK_MONOTONIC
2017-02-21 16:17:17 +01:00
Eelco Dolstra
53b1f7da64
Decrease memoryTokens
2017-02-03 14:44:52 +01:00
Eelco Dolstra
a366f362e1
Use latest nixUnstable
2017-02-03 14:39:18 +01:00
Renzo Carbonara
63d8c8d631
Revert "Sort inputs table" ( #448 )
...
This reverts commit c103163825
.
Fixes #412 #445
2017-01-30 18:20:08 +01:00
Renzo Carbonara
de55303197
Fix SQL syntax for migration 50. It failed with PostgreSQL 9.4. ( #416 )
2016-12-09 18:18:17 +01:00
Eelco Dolstra
8a120006f0
Fix version test
2016-12-08 16:03:50 +01:00
Eelco Dolstra
9989e6c0f4
Get exact build start/stop times from the remote
2016-12-07 16:10:21 +01:00
Eelco Dolstra
f6081668dc
Allow determinism checking for entire jobsets
...
Setting
xxx-jobset-repeats = patchelf:master:2
will cause Hydra to perform every build step in the specified jobset 2
additional times (i.e. 3 times in total). Non-determinism is not fatal
unless the derivation has the attribute "isDeterministic = true"; we
just note the lack of determinism in the Hydra database. This will
allow us to get stats about the (lack of) reproducibility of all of
Nixpkgs.
2016-12-07 15:57:13 +01:00
Eelco Dolstra
8bb36e79bd
Support testing build determinism
...
Builds can now specify the attribute "isDeterministic = true" to tell
Hydra to build with build-repeat > 0. If there is a mismatch between
rounds, the step / build fails with a suitable status.
Maybe this should be a meta attribute, but that makes it invisible to
hydra-queue-runner, and it seems reasonable to make a claim of
mandatory determinism part of the derivation (since e.g. enabling this
flag should trigger a rebuild).
2016-12-06 17:46:06 +01:00
Eelco Dolstra
d0ad3fd806
Revert "Remove the global channel"
...
This reverts commit 2f6c2f5622
.
This unintentionally also removed /all, which is actually somewhat
useful.
2016-12-06 14:25:09 +01:00
phile314-isska
cf12356572
Document ssmtp for email notifications. ( #426 )
2016-11-29 15:27:53 +01:00
Leonid Onokhov
8758d719c6
Remove logfile.css from templates ( #428 )
...
It is no longer used, and causes unnecessary 404s
2016-11-29 15:26:04 +01:00
Leonid Onokhov
96dc9ccecb
Document how to serve hydra behind reverse proxy ( #423 )
2016-11-24 16:10:50 +01:00
Eelco Dolstra
2f6c2f5622
Remove the global channel
...
It's useless and it makes it very easy to kill the server by fetching
/channel/latest/closure.
2016-11-17 18:17:02 +01:00
Eelco Dolstra
98e7e37832
hydra-server: Fix and simplify robots.txt
2016-11-17 18:13:57 +01:00
Eelco Dolstra
aef048b3cb
Bump Nix dependency
2016-11-16 17:52:26 +01:00
Eelco Dolstra
afb8765ae4
hydra-queue-runner: Bump memory limit to reflect more accurate accounting
2016-11-16 17:51:18 +01:00
Eelco Dolstra
b4d32a3085
hydra-queue-runner: More accurate memory accounting
...
We now take into account the memory necessary for compressing the NAR
being exported to the binary cache, plus xz compression overhead.
Also, we now release the memory tokens for the NAR accessor *after*
releasing the NAR accessor. Previously the memory for the NAR accessor
might still be in use while another thread does an allocation, causing
the maximum to be exceeded temporarily.
Also, use notify_all instead of notify_one to wake up memory token
waiters. This is not very nice, but not every waiter is requesting the
same number of tokens, so some might be able to proceed.
2016-11-16 17:48:50 +01:00