For general information about nix, see Nix.
The Hydra jobsets are defined by the
hydraJobsBors flake attributes (cf.
flake.nix). There are slight variations between them to avoid test results caching for bors builds and to disable integration tests for PRs.
Here are the corresponding links to the jobsets for the different branches:
- Master branch - https://hydra.iohk.io/jobset/Cardano/cardano-wallet#tabs-jobs
- GitHub PR builds - https://hydra.iohk.io/jobset/Cardano/cardano-wallet-pr-NNNN - replace NNNN with the PR number.
- bors/staging - https://hydra.iohk.io/jobset/Cardano/cardano-wallet-bors-staging
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
Some build jobs have build products which can be downloaded from the Hydra web interface. Other build systems sometimes call these “artefacts”.
When you click the “latest successful build” link for a job, it redirects (HTTP 302 Moved Temporarily) to the location of the current latest successful build. To make a download link which is always the latest, click the
Details button next a build product, and copy the links.
A nix derivation builder script can register build products by adding lines to the file
Evaluation fails if there are syntax errors in the Nix files, type errors, etc. Sometimes evaluation can fail due to memory exhaustion on Hydra master.
Note: If evaluation fails, the Hydra eval runner will retry until it succeeds. The
ci/hydra-eval status will change from pending to failed, until the evaluation succeeds.
After signing in with the adrestia user, you should be able to see the Actions→Restart button on the build job page.
The password for this user is in Vaultwarden.
Note about bors
If the bors batch has already failed, restarting the failed build in Hydra will have no effect. You will need to submit a new merge job to bors.