Eelco Dolstra
4cf0d7c4b3
hydra-update-gc-roots: Keep derivations of failed builds
...
By keeping the derivations of failed builds in the most recent
evaluations, we ensure that failed builds can be restarted.
2014-04-08 17:54:11 +02:00
Eelco Dolstra
4aa01e021e
Fix building against the latest Nix
2014-04-08 17:08:09 +02:00
Shea Levy
d087aeb0d9
Fix adding jobset inputs
2014-03-06 08:22:59 -05:00
Shea Levy
024a5e7d75
edit-jobset.tt: Retain old inputs with dashes in their name
...
Fixes #149
2014-03-06 07:50:49 -05:00
Eelco Dolstra
2d8f2503c5
Build against latest Nix
2014-03-05 11:11:59 +01:00
Ludovic Courtès
ccdb6f2b23
Honor $NIX_STORE_DIR.
2014-02-28 14:09:12 +01:00
Your Name
f409d2b4f6
Allow notify option to be set for hipchat notification. ( https://www.hipchat.com/docs/api/method/rooms/message )
2014-02-28 09:27:33 +00:00
Your Name
421950aede
Use minutes in build history charts.
2014-02-28 09:16:45 +00:00
Ludovic Courtès
61448ca2bd
guile: Raise default absolute timeout to from 2h to 20h.
2014-02-27 22:19:52 +01:00
Shea Levy
b29d7b1091
Only email responsible authors when the build has changed
2014-02-26 11:05:46 -05:00
Eelco Dolstra
8dcef7702f
Add jobset/job menus on buid log pages
2014-02-26 11:49:28 +01:00
Eelco Dolstra
66b8c1a9e0
Return 410 Gone (rather than 500) if an output is no longer available
2014-02-26 11:38:02 +01:00
Rob Vermaas
6327edd63f
Add a convenient way to get logs of a path/drv. Requested by phreedom.
2014-02-19 10:21:59 +00:00
Eelco Dolstra
73a0cb57c5
Jobset evals page: Don't show nrFailed if it's zero
2014-02-18 11:08:12 +01:00
Hydra
d4d9896f9f
Re-add the history tab (store size and build time), now as lazy-loaded tab on build page.
2014-01-28 11:55:19 +01:00
Rob Vermaas
ac177d0984
Add nixexprpath/nixexprinput to GET of jobset (API).
2014-01-23 12:44:02 +01:00
Eelco Dolstra
2398f2ce49
Spelling fix
2014-01-15 16:09:02 +01:00
Eelco Dolstra
492fe121ea
Jobset eval page: Fix handling of aborted/cancelled builds
...
The fix in 85d51074
was not quite right.
2014-01-15 16:06:47 +01:00
Eelco Dolstra
cad2c07a35
Fix broken redirects
2014-01-14 18:17:33 +01:00
Eelco Dolstra
6572869596
clear-queue-non-current: Work around PostgreSQL query optimizer stupidity
2014-01-14 18:14:10 +01:00
Eelco Dolstra
62809f484f
hydra-eval-jobs: Fix building against the latest unstable Nix
2014-01-12 17:37:56 +01:00
Rob Vermaas
1d392f64c6
Fix typo.
2014-01-10 15:20:19 +01:00
Rob Vermaas
bd7b6fc401
Allow Hydra to run as a private instance by requiring a login.
...
Use the following in your hydra.conf to make your instance a
private Hydra instance (public is the default):
private 1
Currently, this will not allow you to use the API, channels
and the binary cache when running in private mode. We will add
solutions for these functionalities later.
2014-01-10 11:04:28 +01:00
Rob Vermaas
3e1a98668f
Allow configuring a set of domains to allow logins from Persona.
...
E.g. add the following to only allow Persona logins from email.com and gmail.com email addresses.
persona_allowed_domains email.com,gmail.com
2014-01-09 13:31:02 +01:00
Eelco Dolstra
a598fe7e81
Allow Hydra's binary cache to be signed
...
This requires adding the following to hydra.conf:
binary_cache_key_name = <key-name>
binary_cache_private_key_file = <path-to-private-key>
e.g.
binary_cache_key_name = hydra.nixos.org-1
binary_cache_private_key_file = /home/hydra/cache-key.sec
2014-01-08 15:19:17 +01:00
Shea Levy
de26b55afe
User.pm: Handle params from JSON properly
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-12 09:38:57 -05:00
Rob Vermaas
f25f8dbfa3
Higher timeout for prefetching bazaar inputs.
2013-12-11 17:34:45 +01:00
Shea Levy
a92a57f3b0
hydra-evaluator: When evaluating a single jobset, exit with a failure code if evaluation fails
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-27 14:29:05 -05:00
Eelco Dolstra
dd4e57fb0c
Allow passing a specific build as an input
...
Fixes #62 .
2013-11-11 21:36:26 +00:00
Eelco Dolstra
8f104396ec
Support passing a jobset evaluation as an input
...
All successful, non-garbage-collected builds in the evaluation are
passed in a attribute set. So if you declare a Hydra input named
‘foo’ of type ‘eval’, you get a set with members ‘foo.<jobname>’. For
instance, if you passed a Nixpkgs eval as an input named ‘nixpkgs’,
then you could get the Firefox build for x86_64-linux as
‘nixpkgs.firefox.x86_64-linux’.
Inputs of type ‘eval’ can be specified in three ways:
* As the number of the evaluation.
* As a jobset identifier (‘<project>:<jobset>’), which will yield the
latest finished evaluation of that jobset. Note that there is no
guarantee that any job in that evaluation has succeeded, so it might
not be very useful.
* As a job identifier (‘<project>:<jobset>:<job>’), which will yield
the latest finished evaluation of that jobset in which <job>
succeeded. In conjunction with aggregate jobs, this allows you to
make sure that the evaluation contains the desired builds.
2013-11-11 21:17:22 +00:00
Eelco Dolstra
7b35e4d0de
Add a link to the latest finished eval of a jobset
2013-11-11 14:49:39 +01:00
Eelco Dolstra
a0fdf8d2ba
Use local copy of the Persona sign in button
2013-11-06 22:20:57 +01:00
Eelco Dolstra
4fb3d67f49
Make /login give a proper JSON response again
2013-11-06 16:12:07 +01:00
Eelco Dolstra
60e7e4fbe9
Remove obsolete/broken timeline feature
2013-11-06 15:20:30 +01:00
Eelco Dolstra
e8d92445d7
Keep sessions for a week
2013-11-06 15:15:35 +01:00
Eelco Dolstra
5723fda7fc
Keep session state across hydra-server restarts
2013-11-06 15:14:31 +01:00
Eelco Dolstra
33f01da507
Fix hydra_logo setting
2013-11-06 15:10:26 +01:00
Eelco Dolstra
df1a33c63f
Fix layout at all page sizes
2013-11-06 14:50:21 +01:00
Eelco Dolstra
3c45992182
Make the logo configurable via hydra.conf
2013-11-06 14:40:30 +01:00
Eelco Dolstra
b44baf3746
Add a flag to enable Persona support
...
It's disabled by default. To enable, add the following to hydra.conf:
enable_persona = 1
2013-11-06 14:38:36 +01:00
Eelco Dolstra
d118a575e1
Use page-header on the front page
2013-11-06 14:11:56 +01:00
Eelco Dolstra
8928c35ecd
Slight layout tweak
2013-11-06 14:07:43 +01:00
Eelco Dolstra
55f9d23933
Add a command `hydra-create-user' for managing user accounts
2013-11-06 13:36:29 +01:00
Eelco Dolstra
3315d1ea51
Remove obsolete hydra-control script
2013-11-06 11:42:49 +00:00
Eelco Dolstra
7a18e5f0c1
Remove unused file
2013-11-06 11:42:04 +00:00
Eelco Dolstra
63100b0ee8
Merge branch 'master' into persona
2013-11-06 12:35:36 +01:00
Eelco Dolstra
27a740d4b1
Don't show an empty projects list
2013-11-06 12:15:11 +01:00
Eelco Dolstra
a0b58b6b62
Fix typo that caused empty news item to show up
2013-11-06 12:15:11 +01:00
Eelco Dolstra
ecadcef642
Prevent a division by zero in hydra-queue-runner
...
Fixes #131 .
2013-11-06 12:15:11 +01:00
Shea Levy
f1c187198c
Stupid capitalization scheme
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-05 12:39:55 -05:00
Shea Levy
2e1c07c5f7
Argh
...
ALWAYS RUN THE TESTS
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-05 12:31:36 -05:00
aszlig
cfd4843290
topbar: Include "Create project" in menu.
...
For users who only have the "create-projects" role, actually display the
item in the menu as the only option.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-11-05 17:03:31 +01:00
aszlig
f6a83bcc5b
user: Fix spelling of create-projects role.
...
This actually is right in the manual but displayed incorrectly on the
web interface.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-11-05 17:03:31 +01:00
Eelco Dolstra
8a0200edd2
Doh
2013-11-05 16:13:09 +01:00
Eelco Dolstra
ae85d2df23
Add a "My jobsets" tab to the dashboard
2013-11-05 16:05:29 +01:00
Shea Levy
d5574230e4
typo
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-05 09:57:15 -05:00
Shea Levy
217ba725a3
Restore accidentally-removed fields to the Builds API
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-05 09:43:32 -05:00
Shea Levy
385ceaff4d
Show buildinput and buildproduct information in the Builds API
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-05 09:42:05 -05:00
Eelco Dolstra
589271bd72
In the "My jobs" tab, ignore disabled projects/jobsets
2013-11-05 14:53:52 +01:00
Eelco Dolstra
27b795f46e
Doh
2013-11-05 14:46:20 +01:00
Eelco Dolstra
fc827a003a
Be paranoid about the Persona email address
2013-11-05 14:40:40 +01:00
Eelco Dolstra
b53bd868fb
Add a "My jobs" tab to the dashboard
...
It shows all current jobs of which the user is a maintainer.
2013-11-05 14:35:49 +01:00
Eelco Dolstra
3c981bed02
Slight cleanup in the Persona sign in code
2013-11-05 14:10:20 +01:00
Eelco Dolstra
bdd6e99fbd
Clean up user editing
2013-11-05 14:02:04 +01:00
Eelco Dolstra
bd927eba66
Make sign in a modal dialog box rather than a separate page
2013-11-05 13:13:02 +01:00
Eelco Dolstra
299ac07cbc
Re-enable adding new users via the web interface
...
Also unify user creation and user editing.
2013-11-05 12:41:10 +01:00
Eelco Dolstra
36c961a376
Store the account type ("hydra" or "persona") explicitly in the database
2013-11-05 11:46:05 +01:00
Eelco Dolstra
14b9b201e1
Don't show a password reset button for Persona accounts
2013-11-05 11:18:44 +01:00
Eelco Dolstra
b54cfbf032
Merge branch 'master' into persona
...
Conflicts:
src/lib/Hydra/Helper/CatalystUtils.pm
src/root/layout.tt
src/root/topbar.tt
src/root/user.tt
2013-11-05 11:11:48 +01:00
Eelco Dolstra
32b6ddf772
hydra-eval-jobs: Support meta.license being a list
...
TODO: PostgreSQL has an array column type, we should use it for the
license and maintainers columns.
2013-11-04 22:50:32 +01:00
Eelco Dolstra
647d6bc3f1
Force creation of a new uncached eval if jobs have been removed
...
Previously we only checked if jobs had been added. We should probably
rename the "hasNewBuilds" field in the database.
2013-11-01 19:24:52 +01:00
Eelco Dolstra
a04c117eb6
Revert "Remove wacky "sysbuild" filtering"
...
This reverts commit 2d7e106d29
.
Unfortunately some jobsets still depend on this behaviour. They could
probably do something like "assert system == input.system; ..." but
changing them all is undesirable.
2013-11-01 18:30:36 +01:00
Eelco Dolstra
cbd56824a2
Use /etc/nix/machines
2013-10-30 11:21:23 +01:00
Eelco Dolstra
a919b503fb
Restore api/get-info
2013-10-29 19:53:23 +01:00
Shea Levy
5da3dcfd57
Make the outputs' outpaths available via the Build JSON API
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-29 14:41:48 -04:00
Shea Levy
4eef090a45
Flesh out the API a bit
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-29 13:54:11 -04:00
Shea Levy
b51b8cddf4
Add in missing needed join
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-25 14:06:52 -04:00
Shea Levy
8e82ba0093
Get rid of old ToJSON code path
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-25 11:09:11 -04:00
Shea Levy
a89096ec5e
Clean up root controller
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-25 11:09:11 -04:00
Shea Levy
5d3df69a0b
Cleanup build serialization
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-25 11:09:11 -04:00
Shea Levy
e04477003e
Cleanup eval serialization
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-25 11:09:11 -04:00
Shea Levy
917660442e
Add eager fetching of relations and enable that for jobset->jobsetinputs
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-25 11:09:11 -04:00
Shea Levy
ec6568f9b7
Fix jobset input handling in the API
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-25 11:09:06 -04:00
Shea Levy
04d8adaad3
Cleanup Jobset serialization
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-24 11:39:40 -04:00
Shea Levy
78dcd3e619
Cleanup Project model
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-24 11:39:40 -04:00
Shea Levy
ee8275cfdb
Start api cleanup with the User model
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-24 11:39:40 -04:00
Eelco Dolstra
f551de21f7
Fix creating jobsets in a RESTful way
2013-10-24 17:35:58 +02:00
Eelco Dolstra
c719bebcb4
Remove redundant newlines
2013-10-17 11:20:27 +02:00
Shea Levy
806af3fe68
Fix typos
...
I could've sworn I tested this...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-16 08:57:48 -04:00
Shea Levy
0db950931a
Merge remote-tracking branch 'upstream/who-broke-builds' into upstream-master
...
Include information about who changed the build status in notification
emails, and enable optional per-input notification of said committers.
Conflicts due to two branches modifying the database schema.
Signed-off-by: Shea Levy <shea@shealevy.com>
Conflicts:
src/lib/Hydra/Schema/Jobsets.pm
src/sql/upgrade-23.sql
2013-10-15 09:49:20 -04:00
Eelco Dolstra
2127d133cd
Add a dashboard
...
Currently the dashboard allows users to get a quick overview of the
status of jobs they're interested in, but more will be added,
e.g. viewing all your jobsets or all jobs of which you're a
maintainer.
2013-10-14 20:07:26 +02:00
Eelco Dolstra
09b5679ee7
Clean up the authorization code a bit
2013-10-14 18:01:04 +02:00
Eelco Dolstra
86e9abeb15
Use c.req.captures
2013-10-14 17:43:31 +02:00
Eelco Dolstra
854d419b2c
Use redirectJSON
2013-10-14 17:35:14 +02:00
Eelco Dolstra
c4e39d4769
Add one-shot jobsets
...
There are jobsets that are evaluated only once, that is, after they've
been evaluated, they're disabled automatically. This is primarily
useful for doing releases: for instance, doing an evaluation with
"officialRelease" set to "true" should be done only once.
2013-10-11 12:01:52 +02:00
Eelco Dolstra
f592ce0026
Fix extreme slowness in hydra-queue-runner
...
If there are builds in the queue that depend on another scheduled
build, then hydra-queue-runner will start the dependency first and
block the dependent builds. This is implemented in
findBuildDependencyInQueue. However, if there are tens of thousands
of such dependent builds, since each call to
findBuildDependencyInQueue may take a second or so, hydra-queue-runner
will spend hours just deciding which builds *not* to do. Thus very
little progress is made.
So now, when a build is started, we immediately check which builds are
"blocked" by it (i.e. depend on it), and remove such builds from
consideration.
2013-10-11 10:54:02 +02:00
Eelco Dolstra
a49457b2fd
Don't break inside durations
2013-10-10 12:43:27 +02:00
Shea Levy
26470f1656
Check all inputs for blame but only email selected inputs
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-08 14:47:24 -04:00
Shea Levy
804617f075
Email responsible authors if requested
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-08 13:24:49 -04:00
Shea Levy
f8b80c99c2
Include who-broke-the-build information in notification emails
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-10-08 13:24:49 -04:00