Find a file
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
doc Update link to hydra nixexpression 2016-04-21 02:36:59 +02:00
src Enable declarative projects. 2016-05-09 08:54:27 -04:00
tests git-rev: Remove superfluous git tag 2016-04-12 16:30:42 -04:00
.gitignore Shut up warnings 2015-05-28 17:38:17 +02:00
bootstrap hydra: Simplify `bootstrap'. 2011-01-14 10:52:47 +00:00
configure.ac Don't pollute the source directory 2016-03-22 13:19:00 +01:00
COPYING hydra: revert license change 2010-03-29 14:16:46 +00:00
hydra-module.nix hydra-module: fix debug attribute 2016-04-29 04:21:05 +02:00
INSTALL hydra: use autoconf/-make 2010-09-30 14:29:15 +00:00
Makefile.am Install hydra-module.nix into $out/share/nix 2013-07-28 11:24:31 -04:00
README.md Simplify running nix-shell 2016-03-22 12:53:28 +01:00
release.nix release.nix use makeBinPath to construct PATH 2016-04-29 04:23:54 +02:00
shell.nix inNixShell considered harmful 2016-03-22 13:10:37 +01:00
version hydra: fix tarball build, add pre suffix to tarballs 2010-09-30 15:02:42 +00:00

To start hacking on Hydra, run:

$ nix-shell
$ ./configure $configureFlags --prefix=/opt/hydra
$ make
$ make install

Or, if you just want to build from source (on x86_64-linux):

$ nix-build -A build.x86_64-linux release.nix