The Hydra jobset is defined by
release.nix. There are some explanatory comments at the top of this file.
Here are links to the jobsets for different branches:
Master branch - https://hydra.iohk.io/jobset/Cardano/cardano-wallet#tabs-jobs
bors/staging - https://hydra.iohk.io/jobset/Cardano/cardano-wallet-bors-staging
GitHub PR builds - https://hydra.iohk.io/jobset/Cardano/cardano-wallet-pr-NNNN - replace NNNN with the PR number.
Within the jobset, one job is special. This determines whether the build is reporting to GitHub as a success or failure.
It is an aggregate job containing the following constituents:
This job is set up with the
mkRequiredJob function in
Hydra instantiates the
release.nix file on the Hydra master host (hydra.iohk.io). This is evaluation. It then sends the jobs out to the build farm to be built. Evaluation fails if there are syntax errors in the Nix files, etc.
Note: If evaluation fails, no build status will ever be reported to GitHub. If there is a Bors job waiting for this status, it will time out.
As a workaround for this issue, devops added a
hydra-eval-errors Buildkite job which polls the Hydra web interface for evaluation status. If it detects evaluation failure on Hydra then the Buildkite pipeline will consequently fail.