Hydra/en: Difference between revisions
Updating to match new version of source page |
Updating to match new version of source page |
||
| Line 1: | Line 1: | ||
<languages /> | <languages /> | ||
{{note| Hydra is intended to be used by Nix/NixOS package developers; it is not needed to simply use NixOS.}} | |||
Hydra is a tool for continuous integration testing and software release that uses a purely functional language to describe build jobs and their dependencies. Continuous integration is a simple technique to improve the quality of the software development process. An automated system continuously or periodically checks out the source code of a project, builds it, runs tests, and produces reports for the developers. Thus, various errors that might accidentally be committed into the code base are automatically caught. | Hydra is a tool for continuous integration testing and software release that uses a purely functional language to describe build jobs and their dependencies. Continuous integration is a simple technique to improve the quality of the software development process. An automated system continuously or periodically checks out the source code of a project, builds it, runs tests, and produces reports for the developers. Thus, various errors that might accidentally be committed into the code base are automatically caught. | ||
| Line 22: | Line 24: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
The module will automatically enable postgresql if you do not change the <code>services.hydra.dbi</code> option. Database layout will be created automatically by the Hydra service, however keep in mind that some state will be stored in the database and a complete stateless configuration is currently not possible - do your backups. | The module will automatically enable [[PostgreSQL|postgresql]] if you do not change the <code>services.hydra.dbi</code> option. Database layout will be created automatically by the Hydra service, however keep in mind that some state will be stored in the database and a complete stateless configuration is currently not possible - do your backups. | ||
* See nixos-option or the [https://search.nixos.org/options?query=services.hydra Nixos Options page] for all options | * See nixos-option or the [https://search.nixos.org/options?query=services.hydra Nixos Options page] for all options | ||
| Line 44: | Line 46: | ||
nix.buildMachines = [ | nix.buildMachines = [ | ||
{ hostName = "localhost"; | { hostName = "localhost"; | ||
protocol = null; | |||
system = "x86_64-linux"; | system = "x86_64-linux"; | ||
supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"]; | supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"]; | ||
| Line 58: | Line 61: | ||
Configure jobset to the following: | Configure jobset to the following: | ||
* Type: Flake | * Type: [[Flakes|Flake]] | ||
* Flake URI: an URI to a repo containing a Flake like git+https://git.myserver.net/user/repo.git | * Flake URI: an URI to a repo containing a Flake like git+https://git.myserver.net/user/repo.git | ||