3 environment variables are important:
TWITTER_USER
TWITTER_PASS
HYDRA_BUILD_BASEURL
- twitter notification is off when TWITTER_USER and TWITTER_PASS are not defined
- if HYDRA_BUILD_BASEURL is not defined, no URL is put in the twitter messages
against the set of current builds for the job). This ensures that
the builds with the highest ID are what we want in the channel, even
in case of reverts.
the derivations that the jobset currently contains. This is
necessary to allow the "latest" channel to contain the correct
builds when the sources of a jobset are reverted.
mainly to prevent all those Nixpkgs builds named "kde*" from
building at the same time. Since they all have the same slow
dependencies (qt, kdelibs) this tends to block the buildfarm.
the input build to be specified, as well as constraints on the
inputs of the inputs build. For instance, you can require that a
build has input `system = "i686-linux"'.
This is important when one binary build serves as an input to
another binary build. Obviously, we shouldn't pass a build on
i686-linux as an input to another on i686-darwin. Hence the
necessity for constraint.
The constraint are currently quite limited. What you really want to
say is that the "system" input of the other build has to match the
"system" input of this build. But those require a bit more work
since they introduce dependencies between inputs.
distinguish between jobs with the same name in different jobsets
(e.g. "trunk" vs "stdenv-branch" for Nixpkgs).
* Renamed the "attrName" field of Builds to "job".
* Renamed the "id" field of BuildSteps to "build".
failed in a previous build. This is essential for Nixpkgs: we don't
want to keep doing the same failed dependency (say, Glibc) over and
over again for a few hundred jobs.