hydra/src/root
Shea Levy 4392d3e21d Enable declarative projects.
This allows fully declarative project specifications. This is best
illustrated by example:

* I create a new project, setting the declarative spec file to
  "spec.json" and the declarative input to a git repo pointing
  at git://github.com/shlevy/declarative-hydra-example.git
* hydra creates a special ".jobsets" jobset alongside the project
* Just before evaluating the ".jobsets" jobset, hydra fetches
  declarative-hydra-example.git, reads spec.json as a jobset spec,
  and updates the jobset's configuration accordingly:
{
    "enabled": 1,
    "hidden": false,
    "description": "Jobsets",
    "nixexprinput": "src",
    "nixexprpath": "default.nix",
    "checkinterval": 300,
    "schedulingshares": 100,
    "enableemail": false,
    "emailoverride": "",
    "keepnr": 3,
    "inputs": {
        "src": { "type": "git", "value": "git://github.com/shlevy/declarative-hydra-example.git", "emailresponsible": false },
        "nixpkgs": { "type": "git", "value": "git://github.com/NixOS/nixpkgs.git release-16.03", "emailresponsible": false }
    }
}
* When the "jobsets" job of the ".jobsets" jobset completes, hydra
  reads its output as a JSON representation of a dictionary of
  jobset specs and creates a jobset named "master" configured
  accordingly (In this example, this is the same configuration as
  .jobsets itself, except using release.nix instead of default.nix):
{
    "enabled": 1,
    "hidden": false,
    "description": "js",
    "nixexprinput": "src",
    "nixexprpath": "release.nix",
    "checkinterval": 300,
    "schedulingshares": 100,
    "enableemail": false,
    "emailoverride": "",
    "keepnr": 3,
    "inputs": {
        "src": { "type": "git", "value": "git://github.com/shlevy/declarative-hydra-example.git", "emailresponsible": false },
        "nixpkgs": { "type": "git", "value": "git://github.com/NixOS/nixpkgs.git release-16.03", "emailresponsible": false }
    }
}
2016-05-09 08:54:27 -04:00
..
static Add tooltips to metrics showing the exact value of the data point 2016-03-25 14:32:36 +01:00
all.tt Let Builds.timestamp refer to the time the build was added 2013-05-23 10:45:49 -04:00
auth.tt Lazy load Google and Persona login stuff 2016-04-28 17:13:02 +02:00
bootstrap-2.3.1.zip Add correct bootstrap-2.3.1.zip 2013-04-29 09:54:01 +02:00
build-deps.tt Don't generate clashing IDs 2013-02-20 18:26:26 +01:00
build.tt Add link to metrics 2016-03-25 13:57:17 +01:00
channel-contents.tt channel-contents: Fix display of last paragraph. 2015-09-10 17:39:55 +02:00
common.tt Add tooltips to metrics showing the exact value of the data point 2016-03-25 14:32:36 +01:00
dashboard-my-jobs-tab.tt Add a "My jobsets" tab to the dashboard 2013-11-05 16:05:29 +01:00
dashboard-my-jobsets-tab.tt Doh 2013-11-05 16:13:09 +01:00
dashboard.tt Show whether a job still exists 2014-04-08 18:50:37 +02:00
deps.tt Try harder to find build logs 2013-08-30 13:53:25 +00:00
edit-jobset.tt Allow a jobset to be created from an evaluation 2015-07-06 15:56:20 +02:00
edit-project.tt Enable declarative projects. 2016-05-09 08:54:27 -04:00
edit-release.tt Fix some wellformedness issues 2013-09-03 17:35:21 +02:00
error.tt Instead hard breaks in multi-line error messages 2013-10-03 18:05:37 +02:00
evals.tt Use bootstrap's pager (instead of pagination) class 2013-04-26 17:51:05 +02:00
flot-0.8.3.zip Update flot to 0.8.3 2014-10-07 13:35:31 +02:00
job-metrics-tab.tt Add link to metrics 2016-03-25 13:57:17 +01:00
job.tt Lazy load the metrics tab 2016-03-25 13:49:06 +01:00
jobset-channels-tab.tt Tie custom channels into channel-contents.tt. 2015-09-10 17:39:55 +02:00
jobset-eval.tt Add action to restart all failed builds in an eval 2015-10-28 15:04:12 +01:00
jobset-jobs-tab.tt Jobset.pm: Factor out build->eval mapping. 2015-09-10 17:38:45 +02:00
jobset.tt Enable declarative projects. 2016-05-09 08:54:27 -04:00
jquery-ui-1.8.5.custom.zip hydra: use autoconf/-make 2010-09-30 14:29:15 +00:00
layout.tt Lazy load Google and Persona login stuff 2016-04-28 17:13:02 +02:00
log.tt Tweak 2014-08-17 23:54:12 +02:00
machine-status.tt Shorten host names 2016-03-16 15:23:56 +01:00
machines.tt machines: Read /etc/nix.machines instead of using the BuildMachines table 2013-03-04 16:03:04 -05:00
Makefile.am Update flot to 0.8.3 2014-10-07 13:35:31 +02:00
metric.tt Add support for tracking custom metrics 2015-07-31 00:57:30 +02:00
news.tt Give every page a consistent title 2013-02-20 15:54:33 +01:00
overview.tt Use page-header on the front page 2013-11-06 14:11:56 +01:00
plain-reload.tt plain-reload: Scroll down at document load. 2015-04-03 00:00:27 +02:00
plain.tt Ensure proper escaping of /build/.../contents pages 2014-08-17 23:43:22 +02:00
product-list.tt product-list: Handle channel along with "file". 2015-09-10 17:38:45 +02:00
project.tt Enable declarative projects. 2016-05-09 08:54:27 -04:00
queue-runner-status.tt Add missing file 2016-02-19 20:58:40 +01:00
queue-summary.tt /queue-summary: Show number of queued builds by system type 2016-03-22 17:03:26 +01:00
queue.tt Status page: Show running builds rather than build steps 2014-09-25 20:17:33 +02:00
release.tt Give every page a consistent title 2013-02-20 15:54:33 +01:00
reproduce.tt reproduce.tt: Wrap script to prevent problems piping into bash 2015-05-26 17:11:29 +02:00
runtime-deps.tt Don't generate clashing IDs 2013-02-20 18:26:26 +01:00
search.tt When searching a path / drv path, use separate queries for both options to prevent seq. scan. 2013-04-26 08:51:49 -04:00
status.tt Remove obsolete Builds columns and provide accurate "Running builds" 2015-10-27 15:37:17 +01:00
steps.tt Add page showing latest build steps 2015-07-10 15:41:57 +02:00
topbar.tt Lazy load Google and Persona login stuff 2016-04-28 17:13:02 +02:00
user.tt Add support for logging in via a Google account 2016-01-13 17:32:52 +01:00
users.tt Some escaping 2013-07-09 13:55:29 +02:00