Commit Graph

3958 Commits

Author SHA1 Message Date
8b12ac1f6d Basic remote building
This removes the need for Nix's build-remote.pl.

Build logs are now written to $HYDRA_DATA/build-logs because
hydra-queue-runner doesn't have write permission to /nix/var/log.
2015-06-09 14:21:21 +02:00
3a6cb2f270 Implement a database connection pool 2015-05-29 20:55:13 +02:00
214b95706c On SIGINT, shut down the builder threads
Note that they don't get interrupted at the moment (so on SIGINT, any
running builds will need to finish first).
2015-05-29 20:02:15 +02:00
bc36c7ddd0 hydra-module: Don't assume hydra is running on localhost.
In the long run we should add retry logic to hydra-init...
2015-05-29 12:16:04 -04:00
e778821940 Make concurrency more robust 2015-05-29 17:14:20 +02:00
8640e30787 Very basic multi-threaded queue runner 2015-05-29 01:31:12 +02:00
604fdb908f Pass null values to libpqxx properly 2015-05-28 19:06:17 +02:00
dc446c3980 Start of single-process hydra-queue-runner 2015-05-28 17:39:29 +02:00
a91cbefda0 Shut up warnings 2015-05-28 17:38:17 +02:00
ff8cb93fe7 reproduce.tt: Wrap script to prevent problems piping into bash 2015-05-26 17:11:29 +02:00
c32a244bd7 reproduce.tt: Add --print-flags option
Useful when scripting stuff (e.g. if you want to do a nix-instantiate
instead of a nix-build).
2015-05-26 16:36:08 +02:00
f5ecb7a81a reproduce.tt: Use -I instead of $NIX_PATH 2015-05-26 16:07:00 +02:00
b8a0956443 reproduce.tt: Add option to fetch but not build 2015-05-26 16:01:37 +02:00
91ecee0e5d Fix reproduce script 2015-05-26 15:54:38 +02:00
c93ff1e817 Doh 2015-05-26 15:25:21 +02:00
1ab0f96079 Rename c -> hydra-eval-jobs 2015-05-26 13:58:01 +02:00
880ba75a4f Merge pull request #216 from Warbo/master
Allow running on i686-linux
2015-05-17 14:01:37 -04:00
d64ba15357 Allow running on i686-linux 2015-05-17 18:41:27 +01:00
e003665146 Split timeSpent query into 2 separate queries, as postgresql isn't able to figure out a decent query plan. With 120k jobs in queue, this makes some queries go from 100s to 1-2s. 2015-05-01 12:28:29 +02:00
d9ab964203 UTF-8 fix 2015-04-14 15:20:56 +02:00
01cd6397cb Better error message 2015-04-14 15:16:24 +02:00
5a61aefe4f Use Nix's restricted evaluation mode 2015-04-14 15:16:00 +02:00
5d8a563e90 Merge pull request #204 from aszlig/tail-improvements
Improvements of tail-reload output
2015-04-14 12:44:36 +02:00
5af301ee82 configure.ac: Declare we're using the serial test harness
Fixes #200.
2015-04-13 12:52:08 +02:00
63306aaf5a hydra-evaluator: Add some debug code 2015-04-09 17:35:04 +02:00
a2dc92d871 Die tabs die 2015-04-09 17:22:10 +02:00
9e664cf8b0 Fix not-null constraint violation inserting build step
DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::Pg::st execute failed: ERROR:  null value in column "machine" violates not-null constraint
2015-04-07 13:34:00 +02:00
7a48ad375a plain-reload: Scroll down at document load.
When visiting the tail-reload page, for a short amount of time the
"unscrolled" version is shown. To circumvent that, let's scroll down
immediately at the first possibility to fill the gap between the loading
of the document and the first AJAX request coming in.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-03 00:00:27 +02:00
c251598241 plain-reload: Constrain tail output to 50 lines.
There are quite a lot of build outputs which have lines with a length
exceeding the width of the taillog <pre/> and thus visually produce more
lines than 50. This causes the tail "box" to change height frequently
and to get to the bottom you need to scroll down.

We now set a fixed line-height to 120% of the font size and cap the
maximum height based on that value (50 * 1.2 = 60). It's probably not
nice to override the line-height, but max-lines is currently only
available using browser-specific property names. But after all it's just
for the tail output, if people complain about the line-height, we can
still change it :-)

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-02 17:29:48 +02:00
be051bcadc plain-reload.tt: Properly escape tail content.
We're just implicitly escaping the tail content by not using .load() but
explicitly setting the text content using .text(), so that escaping
isn't needed on our side.

This should get rid of a few formatting errors and possibly XSS if
someone manages to place JS code in the tail of a build and manages to
lurk a user to that tail output.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-02 16:55:59 +02:00
aec0a35114 Fix duplicate row-link 2015-03-24 14:31:27 +01:00
125dd80dd8 Respect hideJobset in renderBuildListBody. 2015-03-24 08:38:40 +00:00
cad82493b0 Restore build and eval IDs. 2015-03-23 15:11:38 +00:00
91e7e6f6ab Use DAG range to determine commits between mercurial revisions. Previously it would show also commits in other branches. 2015-03-23 13:52:06 +00:00
3b5e84cc73 Tweak debug output 2015-03-23 12:59:41 +01:00
479632efa3 Call initGC() 2015-03-19 20:16:38 +01:00
4c0e3e4703 Debug tweak 2015-03-18 22:03:55 +01:00
ad2b7646ac Don't show missing paths in logs 2015-03-04 15:44:04 +01:00
522bcea8fc Hide build IDs from build lists
Like eval IDs, build IDs don't convey useful information.

Also, make the job name link to the build rather than the job. When
people click on a build, they expect to go to the build page, not the
job page.
2015-02-26 13:28:14 +01:00
62805dd73c Queue: Remove the scheduling priority
Scheduling is mostly based on jobset shares these days. So showing and
sorting by priority just wastes space and gives the incorrect
impression that Hydra executes builds in the order shown on the queue
page.
2015-02-26 13:16:25 +01:00
7f6faee08a Show some eval stats 2015-02-26 13:11:33 +01:00
f835ae492f Likewise remove eval IDs from eval lists 2015-02-26 13:06:53 +01:00
c04c8c2bf1 Jobset job tab: Show eval date rather than eval ID
Eval IDs carry no useful information, so it's better to show the date
of the eval. If the date is recent, a relative date is given (e.g. "3h
ago").
2015-02-26 13:01:01 +01:00
fa1e043526 Make input value wider
Fixes #187.
2015-02-25 17:42:47 +01:00
adc72d2409 Record which build a failed build step was propagated from 2015-02-25 16:42:32 +01:00
48af914e28 When propagating failure, propagate the duration and machine
Previously the duration would just show as "0" and you would have to
search for the original build to get the duration.
2015-02-25 16:21:54 +01:00
2f946bdfd7 Render machine correctly if it doesn't contain @ 2015-02-25 16:21:29 +01:00
9282bcb95f Show eval input changes in deterministic order 2015-02-25 13:13:12 +01:00
7c048cbbcf Allow a different state directory for hydra-server
This is necessary if hydra-server runs under a different uid than the
other Hydra processes.
2015-02-24 11:40:24 +01:00
00e03b9db5 For consistency, Use base32 hashes in manifests 2015-02-19 12:44:52 +01:00