Hydra, for The Distro
Find a file
Graham Christensen fd38524843
Merge pull request #746 from gilligan/add-ci-badge
Add CI badge to README.md
2020-05-02 08:36:38 -04:00
.github/workflows Only run the 'build' test 2020-04-16 00:33:02 +02:00
datadog add space 2017-07-26 16:56:16 +01:00
doc Get rid of dependency to SQLite 2020-04-16 00:42:40 +02:00
src SoTest: read credentials from file 2020-04-26 12:12:04 +05:30
tests Get rid of dependency to SQLite 2020-04-16 00:42:40 +02:00
.gitignore Get rid of dependency to SQLite 2020-04-16 00:42:40 +02:00
bootstrap hydra: Simplify `bootstrap'. 2011-01-14 10:52:47 +00:00
configure.ac Remove outdated email address 2020-03-31 12:58:24 +02:00
COPYING hydra: revert license change 2010-03-29 14:16:46 +00:00
default.nix Add default.nix, shell.nix for compatibility 2020-03-31 16:07:46 +02:00
flake.lock flake.lock: Update 2020-04-09 17:52:02 +02:00
flake.nix Re-add DBDSQLite since it's needed by the Perl-bindings of Nix 2020-04-16 00:42:40 +02:00
hydra-module.nix Merge remote-tracking branch 'origin/master' into flake 2019-09-24 19:03:18 +02:00
INSTALL hydra: use autoconf/-make 2010-09-30 14:29:15 +00:00
Makefile.am Install hydra-module.nix into $out/share/nix 2013-07-28 11:24:31 -04:00
README.md Add CI badge to README.md 2020-05-02 14:29:19 +02:00
shell.nix Add default.nix, shell.nix for compatibility 2020-03-31 16:07:46 +02:00
version hydra: fix tarball build, add pre suffix to tarballs 2010-09-30 15:02:42 +00:00

Hydra

CI

Hydra is a Continuous Integration service for Nix based projects.

Installation And Setup

Note: The instructions provided below are intended to enable new users to get a simple, local installation up and running. They are by no means sufficient for running a production server, let alone a public instance.

Enabling The Service

Running Hydra is currently only supported on NixOS. The hydra module allows for an easy setup. The following configuration can be used for a simple setup that performs all builds on localhost (Please refer to the Options page for all available options):

{
  services.hydra = {
    enable = true;
    hydraURL = "http://localhost:3000";
    notificationSender = "hydra@localhost";
    buildMachinesFiles = [];
    useSubstitutes = true;
  };
}

Creating An Admin User

Once the Hydra service has been configured as above and activate you should already be able to access the UI interface at the specified URL. However some actions require an admin user which has to be created first:

$ su - hydra
$ hydra-create-user <USER> --full-name '<NAME>' \
    --email-address '<EMAIL>' --password <PASSWORD> --role admin

Afterwards you should be able to log by clicking on "Sign In" on the top right of the web interface using the credentials specified by hydra-crate-user. Once you are logged in you can click "Admin -> Create Project" to configure your first project.

Building And Developing

Building Hydra

You can build Hydra via nix-build using the provided default.nix:

$ nix-build

Development Environment

You can use the provided shell.nix to get a working development environment:

$ nix-shell
$ ./bootstrap
$ configurePhase # NOTE: not ./configure
$ make

Additional Resources

License

Hydra is licensed under GPL-3.0

Icons provided free by EmojiOne.