Eelco Dolstra
88d7eb5247
Remove double entry for localhost on machines status page
2015-08-26 13:01:45 +02:00
Eelco Dolstra
7aa52517e9
Support multiple machines files
...
This is primarily useful for the Hydra provisioner, which can write
its machines to another file than /etc/nix/machines.
2015-08-25 15:34:53 +02:00
Eelco Dolstra
b0c8eecd37
Merge branch 'build-ng'
2015-08-12 20:32:48 +02:00
Eelco Dolstra
62cd9d18b6
Check for a valid number of shares
2015-08-12 15:36:55 +02:00
Eelco Dolstra
2e3899ed27
Don't set Expires header for logs of unfinished builds/steps
2015-08-12 12:22:14 +02:00
Shea Levy
1705ca41e7
Remove unneeded camelcase
2015-08-10 13:59:22 -04:00
Shea Levy
163e696813
Copy-paste error
2015-08-10 13:52:40 -04:00
Shea Levy
882b6b3377
Pass a build's drv path as a store path
2015-08-10 13:48:09 -04:00
Shea Levy
ce5ffa9fba
Only pass the drv path if it is still valid
2015-08-10 13:47:39 -04:00
Eelco Dolstra
08739a2a5a
Allow bumping an entire evaluation to the front of the queue
...
This is mostly useful if we need to prioritize (say) a nixos-stable
eval that has some critical security bug fix.
2015-08-10 18:57:59 +02:00
Eelco Dolstra
eb13007fe6
Allow build to be bumped to the front of the queue via the web interface
...
Builds now have a "Bump up" action. This will cause the queue runner
to prioritise the steps of the build above all other steps.
2015-08-10 16:19:47 +02:00
Shea Levy
2a240e458e
Pass along drvPath and outputName for inputs that are previous builds.
...
This allows importing the .drv and getting the same store paths as if the
input had been passed in as nix expressions defining a proper derivation.
2015-08-10 08:02:10 -04:00
Eelco Dolstra
90c462a222
Merge remote-tracking branch 'origin/master' into build-ng
...
Conflicts:
hydra-module.nix
2015-08-04 14:30:22 +02:00
Shea Levy
d450d08929
buildInputToString: Use inputType attribute instead of type attribute
2015-08-04 06:50:04 -04:00
Eelco Dolstra
6f04299411
Allow downloading file by filename
...
For instance, instead of
http://.../build/3770911/download/4/source.tar.gz
you can get
http://.../build/3770911/download/source.tar.gz
This is useful when file names are constant across builds but product
numbers are not.
2015-07-31 17:50:22 +02:00
Shea Levy
07634e8862
buildInputToString: Pass along the input's type and urr
2015-07-31 09:47:44 -04:00
Eelco Dolstra
4d26546d3c
Add support for tracking custom metrics
...
Builds can now emit metrics that Hydra will store in its database and
render as time series via flot charts. Typical applications are to
keep track of performance indicators, coverage percentages, artifact
sizes, and so on.
For example, a coverage build can emit the coverage percentage as
follows:
echo "lineCoverage $pct %" > $out/nix-support/hydra-metrics
Graphs of all metrics for a job can be seen at
http://.../job/ <project>/<jobset>/<job>#tabs-charts
Specific metrics are also visible at
http://.../job/ <project>/<jobset>/<job>/metric/<metric>
The latter URL also allows getting the data in JSON format (e.g. via
"curl -H 'Accept: application/json'").
2015-07-31 00:57:30 +02:00
Eelco Dolstra
9afaf322b3
Use latest DBIx::Class::Schema::Loader
2015-07-30 16:55:11 +02:00
Rob Vermaas
fbd48f5684
Make cloning of jobsets work again.
...
(cherry picked from commit 706551453800fb3a4bb3d8b681dad157a8cea98b)
2015-07-14 09:07:10 +00:00
Eelco Dolstra
06d75699a7
Fix restarting a build
2015-07-10 16:56:53 +02:00
Eelco Dolstra
7f865a30d5
hydra-evaluator: Fix input change check
...
Because inputs were processed in random order by inputsToArgs, the
inputs hash could be different every time, leading to unnecessary
re-evaluations.
2015-07-10 16:44:06 +02:00
Eelco Dolstra
5919e911db
Don't show how long a machine has been idle
...
Without an index on (machine, stoptime desc), this requires a
sequential scan. And adding a whole index for this seems
overkill. (Possibly the queue runner could maintain this info more
efficiently.)
2015-07-10 15:41:57 +02:00
Eelco Dolstra
b09f7e0989
Add page showing latest build steps
2015-07-10 15:41:57 +02:00
Eelco Dolstra
0da08df4eb
Stream logs if possible and remove size limit
2015-07-08 19:05:17 +02:00
Eelco Dolstra
bbee81efae
Use triggers for all notifications on Builds table changes
2015-07-08 12:05:32 +02:00
Eelco Dolstra
95c4294560
Allow cancelling builds marked as busy
...
Note that if there are active build *steps*, this won't cancel them.
2015-07-07 14:08:46 +02:00
Eelco Dolstra
dd4f6e695e
Merge branch 'master' into build-ng
2015-07-06 17:17:51 +02:00
Eelco Dolstra
ccf6e6062c
Store full Mercurial revision hashes
2015-07-06 17:17:17 +02:00
Eelco Dolstra
309ef5baa9
Merge branch 'master' into build-ng
2015-07-06 15:57:09 +02:00
Eelco Dolstra
b85e9ef1cd
Support using Git revisions as branch names
2015-07-06 15:56:24 +02:00
Eelco Dolstra
b03de925cb
Allow a jobset to be created from an evaluation
...
Fixes #150 .
2015-07-06 15:56:20 +02:00
Eelco Dolstra
dffb629b8a
Unify Hydra's NixOS module with the one used for hydra.nixos.org
...
In particular, the queue runner and web server now run under different
UIDs.
2015-07-02 01:01:44 +02:00
Eelco Dolstra
3e0f5f664a
GitInput plugin: Don't clone during getCommits
...
This doesn't work if hydra-queue-runner has no write access to the scm
directory, and in any case races with the evaluator.
2015-07-02 00:44:40 +02:00
Eelco Dolstra
ae52fc7f61
Remove display of queue runner log file (it no longer exists)
2015-07-02 00:18:33 +02:00
Eelco Dolstra
3c665dac82
Remove superfluous HYDRA_LOGO environment variable
2015-07-01 11:34:19 +02:00
Eelco Dolstra
9a041f9a36
Restart builds failed due to unsupported system type
2015-06-26 11:28:38 +02:00
Eelco Dolstra
c54a04688e
Fix email sender address when notification_sender is not set
2015-06-25 16:49:01 +02:00
Eelco Dolstra
133d298e26
Asynchronously compress build logs
2015-06-19 15:06:12 +02:00
Eelco Dolstra
c6d504edbb
Handle SSH hosts without a @
2015-06-17 13:49:18 +02:00
Eelco Dolstra
c974fb893b
Support cancelling builds
2015-06-11 18:07:45 +02:00
Eelco Dolstra
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
Eelco Dolstra
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
Eelco Dolstra
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
Eelco Dolstra
dc446c3980
Start of single-process hydra-queue-runner
2015-05-28 17:39:29 +02:00
Eelco Dolstra
91ecee0e5d
Fix reproduce script
2015-05-26 15:54:38 +02:00
Eelco Dolstra
d9ab964203
UTF-8 fix
2015-04-14 15:20:56 +02:00
Eelco Dolstra
63306aaf5a
hydra-evaluator: Add some debug code
2015-04-09 17:35:04 +02:00
Eelco Dolstra
a2dc92d871
Die tabs die
2015-04-09 17:22:10 +02:00
Rob Vermaas
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
Eelco Dolstra
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