Commits on Oct 31, 2016
  1. doc: add basic docs about declarative projects

    Conversion of Shea's *.md, added as a subsection.  Shea is left as author.
    I made this new bit a separate file, though it might be questionable.
    shlevy committed with vcunat Oct 31, 2016
Commits on May 9, 2016
  1. Declarative projects: Include the fetch info for the declarative inpu…

    …t in the project eval
    shlevy committed Apr 12, 2016
  2. 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://
    * 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://", "emailresponsible": false },
            "nixpkgs": { "type": "git", "value": "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://", "emailresponsible": false },
            "nixpkgs": { "type": "git", "value": "git:// release-16.03", "emailresponsible": false }
    shlevy committed Mar 11, 2016
Commits on Apr 12, 2016
  1. GithubStatus: Include the full job name and build ID in the context.

    Build ID can be omitted by setting excludeBuildFromContext in config
    shlevy committed Apr 12, 2016
  2. Add a plugin to interact with the github status API.

    Mutliple <githubstatus> sections are possible:
    * jobs: regexp for jobs to match
    * inputs: the input which corresponds to the github repo/rev whose
      status we want to report. Can be repeated
    * authorization: Verbatim contents of the Authorization header. See
    shlevy committed Mar 12, 2016
  3. Add buildStarted plugin hook

    shlevy committed Mar 12, 2016
Commits on Mar 2, 2016

    shlevy committed Mar 2, 2016
Commits on Mar 1, 2016
Commits on Feb 29, 2016
  1. Add slack plugin.

    Respects <slack> blocks in the hydra config, with attributes:
    * jobs: a regexp matching the job name (in the format project:jobset:job)
    * url: The URL to a slack incoming webhook
    * force: If true, always send messages. Otherwise, only when the build status changes
    Multiple <slack> blocks are allowed
    shlevy committed Feb 29, 2016
Commits on Aug 10, 2015
  1. Remove unneeded camelcase

    shlevy committed Aug 10, 2015
  2. Copy-paste error

    shlevy committed Aug 10, 2015
  3. 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.
    shlevy committed Aug 10, 2015
Commits on Aug 4, 2015
  1. Whoops, misread signature

    shlevy committed Aug 4, 2015
  2. Only pass the first value of each input in the inputs argument

    Multiple alts are on their way out
    shlevy committed Aug 4, 2015
  3. hydra-eval-jobs: Pass all inputs as 'inputs' arg.

    If there is no input named 'inputs', hydra-eval-jobs now passes in a set
    of lists, where each attribute corresponds to an input defined in the
    jobset specification and each list element is a different input alt, as
    an argument named 'inputs'.
    Among other things, this allows for generic hydra expressions to be
    shared amongst projects with similar structures but different sets of
    specific inputs.
    shlevy committed Aug 4, 2015
Commits on Jul 31, 2015
Commits on Jul 10, 2015
  1. Merge branch 'no-local-psql'

    shlevy committed Jul 10, 2015
Commits on May 29, 2015
  1. hydra-module: Don't assume hydra is running on localhost.

    In the long run we should add retry logic to hydra-init...
    shlevy committed May 29, 2015
Commits on May 17, 2015
  1. Merge pull request #216 from Warbo/master

    Allow running on i686-linux
    shlevy committed May 17, 2015
Commits on Dec 11, 2014
  1. S3Backup: Create a proper nar

    shlevy committed Dec 11, 2014
Commits on Jun 16, 2014
  1. Fix build for new nixUnstable

    shlevy committed Jun 16, 2014
Commits on May 14, 2014
Commits on Mar 6, 2014
  1. Fix adding jobset inputs

    shlevy committed Mar 6, 2014
Commits on Feb 26, 2014
Commits on Dec 12, 2013
  1. Handle params from JSON properly

    Signed-off-by: Shea Levy <>
    shlevy committed Dec 12, 2013
Commits on Nov 27, 2013
  1. hydra-evaluator: When evaluating a single jobset, exit with a failure…

    … code if evaluation fails
    Signed-off-by: Shea Levy <>
    shlevy committed Nov 27, 2013
Commits on Nov 6, 2013
  1. Revert "Add a unit template to run hydra-evaluator with arbitrary arg…

    Can't get the escaping to work right to pass more than one argument
    This reverts commit 6cac7e9.
    shlevy committed Nov 6, 2013