c00bf7cd1a
Check non-runnable steps for unsupported system type
2015-06-15 15:13:03 +02:00
5019fceb20
Add a error type for "unsupported system type"
2015-06-15 15:07:04 +02:00
541fbd62cc
Immediately abort builds that require an unsupported system type
2015-06-15 14:51:49 +02:00
bf87d3a6ed
Use stable Nix
2015-06-15 14:51:38 +02:00
d6354cbe1f
Fix Perl error in tests.api
...
Doing "su hydra" causes Perl to be invoked with a wrong PERL5LIB
(pointing to root's profile), leading to "Can't locate strict.pm".
2015-06-15 11:56:51 +02:00
abca7a87da
Cleanup
2015-06-12 18:15:58 +02:00
f06ec78859
Handle building from a dirty Git tree
2015-06-12 18:15:58 +02:00
18e0a62e24
Disable 32-bit builds again
...
They're failing consistently:
http://hydra.nixos.org/job/hydra/master/build.i686-linux/all
2015-06-12 15:35:14 +02:00
f9cd5adae8
Queue monitor: Get only the fields we need
2015-06-11 18:09:50 +02:00
c974fb893b
Support cancelling builds
2015-06-11 18:07:45 +02:00
c08883966c
Use PostgreSQL notifications for queue events
...
Hydra-queue-runner now no longer polls the queue periodically, but
instead sleeps until it receives a notification from PostgreSQL about
a change to the queue (build added, build cancelled or build
restarted).
Also, for the "build added" case, we now only check for builds with an
ID greater than the previous greatest ID. This is much more efficient
if the queue is large.
2015-06-11 17:41:59 +02:00
672bbb1c67
hydra-update-gc-roots: Get Builds and BuildOutputs in the same query
...
This greatly reduces the number of roundtrips to the database.
2015-06-11 14:10:21 +02:00
9989a90e99
Keep the most recent successful build of current jobs
...
Fixes #140 .
2015-06-11 14:10:21 +02:00
d72a88b562
Don't try to handle SIGINT
...
It just makes things unnecessarily complicated. We can just exit
without cleaning anything up, since the only thing to do is unmark
builds and build steps as busy. But we can do that by having systemd
call "hydra-queue-runner --unlock" from ExecStopPost.
2015-06-10 15:55:46 +02:00
a4fb93c119
Lock builds for a shorter amount of time
2015-06-10 15:36:21 +02:00
6d738a31bf
Keep track of failed paths in the Hydra database
...
I.e. don't use Nix's failed paths feature anymore. Easier to keep
everything in one place.
2015-06-10 14:57:16 +02:00
c68036f8b0
Pass ssh key
2015-06-10 14:57:07 +02:00
7dd1f0097e
Finish copyClosure
2015-06-09 16:03:41 +02:00
c93aa92563
Create BuildSteps race-free
...
If multiple threads create a step for the same build, they could get
the same "max(stepnr)" and allocate conflicting new step numbers. So
lock the BuildSteps table while doing this. We could use a different
isolation level, but this is easier.
2015-06-09 15:03:20 +02:00
61d4060522
Record the machine used for a build step
2015-06-09 14:57:49 +02:00
08633508da
Fix colspan
2015-06-09 14:42:02 +02:00
ca1fbdd058
Mark builds as busy
2015-06-09 14:31:43 +02:00
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