Commit Graph

2985 Commits

Author SHA1 Message Date
68afa2bf6f Dump more system info in /queue-runner-status 2018-03-07 10:06:56 +01:00
3cf2ffe367 [ Fix ] Trim github pr plugin store paths.
nix-store --add returns a trailing LF which caused wrong include
paths for the github PR plugin JSON input.
2018-02-12 17:59:56 +01:00
aeca462de0 Typo: on the build view page: Yu -> You 2018-02-08 12:37:21 -05:00
fd463ff403 Remove nix-install-package support
'nix-install-package' no longer exists in Nix 1.12.

Closes .
2018-01-15 14:27:58 +01:00
3ab5d299c1 feat: add /eval/<id>/builds endpoint
This endpoint allows efficient retrieval of all the builds in an
evaluation, without making a request for each single build.
2018-01-14 01:29:37 +01:00
83a48d2d4f Add a restart-jobs role
Frequently users want Hydra access just to restart jobs. However,
prior to this commit the only way to grant that access was by giving
them full Admin access which isn't necessarily what we want to do.

By having a restart-jobs role, we can grant this privilege to users
who are known to the community and want to help, but aren't long-time
members.

I haven't tested this commit, but it looks good to me...
2017-12-30 08:28:23 -05:00
8913c682cf Doh 2017-12-25 15:02:17 +01:00
0d79f16fd5 git-export -> source 2017-12-25 14:31:30 +01:00
7ccec0900b Fix links to steps in the machines page 2017-12-07 16:20:23 +01:00
e9670641ec Distinguish build step states
The web interface now shows whether a build step is connecting,
copying inputs/outputs, building, etc.
2017-12-07 15:35:31 +01:00
457483ba0e Don't lock the BuildSteps table when inserting
Instead, optimistically insert a row and retry if there is a conflict.
2017-12-07 14:41:29 +01:00
2660c3cc54 Remove redundant check 2017-12-05 16:00:18 +01:00
52e0ebcfed hide disabled jobsets by default. 2017-12-05 14:07:58 +01:00
364e21919a hydra-eval-{jobs,jobset}: Pass file name as <...> 2017-11-28 16:51:00 +01:00
b7bc4384b7 Fix serving plain text files 2017-11-21 17:55:52 +01:00
5986aae704 Add option eval_substituter
When using the "build" or "sysbuild" jobset input types in conjunction
with a binary cache store, the evaluator needs to be able to fetch
store paths from the binary cache. Typical usage:

  store_uri = s3://nix-test-cache?secret-key=...
  eval_substituter = s3://nix-test-cache

Also, the public key of the binary cache must be added to
binary-cache-public-keys in nix.conf, otherwise the local nix-daemon
won't allow the store paths to be copied over.
2017-11-20 16:12:20 +01:00
7857f83251 Serve directories and symlinks correctly 2017-11-14 17:17:07 +01:00
100249c066 Use git rev-list --count 2017-11-14 16:18:54 +01:00
2cdc84f34f Fix build against Nix master
Also, remove support in hydra-eval-jobs for multiple jobset input
alternatives. The web interface hasn't supported this in a long
time. Thus we can use the regular "--arg" handler.
2017-10-26 13:10:14 +02:00
eef0d8861b Remove test line 2017-10-19 13:17:29 +02:00
b04dc6c76e Fix root creation when the root already exists but is owned by another user 2017-10-19 12:28:38 +02:00
b904f25247 Hide contents links 2017-10-18 15:57:43 +02:00
d8d71ea4a3 hydra-server: Use server_store_uri instead of store_uri, if set
The store_uri may contain parameters that cause Nix to fail when
running under the hydra-server user (e.g. the signing key).
2017-10-18 15:33:55 +02:00
62c6cca937 Make one-click installs work for binary cache stores
This requires setting binary_cache_public_uri in hydra.conf.
2017-10-18 14:09:28 +02:00
44ef743d84 Hide some things that require a local store 2017-10-18 13:44:41 +02:00
40a9b70df2 Shut up warning 2017-10-18 13:39:39 +02:00
30943dd217 Detect MIME type 2017-10-18 13:38:34 +02:00
42fbde0383 Use "nix cat-store" to serve files from the Nix store
This makes downloading/viewing build results work with binary cache
stores. For good performance, this should be used in conjunction with
ca580bec35,
i.e. you should set store_uri to something like

  s3://my-cache?local-nar-cache=/tmp/nar-cache

to cache NARs between requests.
2017-10-18 12:48:31 +02:00
bc60fccf78 Remove remaining references to store_mode etc. 2017-10-18 12:23:07 +02:00
cc64e51f75 USER -> LOGNAME for consistency
Don't remember why we use LOGNAME. Also ensure that it's set.
2017-10-18 11:23:00 +02:00
c81594f470 hydra-queue-runner: ensure roots directory exists
Fixes 
2017-10-17 13:04:56 -05:00
45b138373b hydra-queue-runner: Write GC roots for outputs paths
We lost this behaviour somewhere. So build outputs could be GC'ed when
running the collector with --option gc-keep-outputs false.
2017-10-12 18:55:38 +02:00
eb7631fb9d hydra-create-user now has --password-hash option ()
When creating a Hydra user with the `hydra-create-user` command, you can now
provide a SHA1 password hash with the `--password-hash` flag. This is useful for
the upcoming work on Fully Declarative Hydra, since the end user should not have
to specify plaintext passwords in their `configuration.nix` file.
2017-10-08 11:55:51 +01:00
b645b03536 Fix string comparison 2017-09-25 11:54:55 +00:00
27103398c9 Make maxLogSize configurable 2017-09-22 15:23:58 +02:00
2318baaade Add 'readonly_ips' option, to allow readonly access for certain IPs when 'private' option is enabled. 2017-09-22 11:36:49 +00:00
b828224fee Periodically close RemoteStore connections
This prevents an accumulation of temproots. See
89dc62c174.
2017-09-14 18:16:33 +02:00
6517446c34 Update to latest nixUnstable 2017-09-14 17:22:48 +02:00
d676c91bd5 Return Builds.drvpath in the JSON API
E.g.

  curl -H 'Accept: application/json' http://127.0.0.4/build/3772858 | jq -r .drvpath
  /nix/store/97vla79lavlcsk8milskr06rfm34bskx-patchelf-0.8pre843_f4522f4.drv
2017-09-12 18:42:18 +02:00
4af97c57f5 Acquire the send lock only while actually sending
Thus, we no longer hold the send lock while substituting missing paths
on the build machine. This is a good thing in particular for macOS
builders which have a tendency to hang forever in curl downloads.
2017-09-01 16:28:49 +02:00
50ab80caf2 Don't wait forever to acquire the send lock 2017-09-01 15:29:06 +02:00
b405837d4d Merge pull request from zraexy/patch-1
Make all content of rotated table header clickable
2017-08-22 22:37:23 +02:00
337a72ef4d Fix displaying errors from JSON requests 2017-08-17 15:32:46 +02:00
48609664a5 Fixes NixOS/hydra#402 () 2017-08-10 14:16:24 +02:00
7c976d2aec hydra-queue-runner: Make build notification more reliable
Previously, when hydra-queue-runner was restarted, any pending "build
finished" notifications were lost. Now hydra-queue-runner marks
finished but unnotified builds in the database and uses that to run
pending notifications at startup.
2017-07-26 15:17:51 +02:00
719df63190 queue-monitor: never move lastBuildId forward without processing jobs. 2017-07-25 20:05:37 -05:00
e117d85c2a hydra-queue-runner: Set a thread title for the builder threads
This should make debugging slightly easier.
2017-07-25 15:59:41 +02:00
a6d9201947 GithubStatus: Allow config to specify the integration description and context 2017-07-24 15:44:10 -04:00
e78b9fd4ee hydra-queue-runner: Allow concurrent notifications
The queue runner can now run up to ‘max-concurrent-notifications’ in
parallel (default is 2). This is useful when some hydra-notify
invocations can take a long time to complete (e.g. because they need
to compress a giant build log) and we don't want this to block all
other notifications.
2017-07-24 16:35:34 +02:00
bba383bf1b hydra-queue-runner: Keep some notification statistics 2017-07-24 16:26:44 +02:00