import ./make-test-python.nix ({ pkgs, ... }: let lfs = pkgs.fetchurl { url = "https://gerrit-ci.gerritforge.com/job/plugin-lfs-bazel-master/90/artifact/bazel-bin/plugins/lfs/lfs.jar"; sha256 = "023b0kd8djm3cn1lf1xl67yv3j12yl8bxccn42lkfmwxjwjfqw6h"; }; in { name = "gerrit"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ flokli zimbatm ]; }; nodes = { server = { config, pkgs, ... }: { networking.firewall.allowedTCPPorts = [ 80 2222 ]; virtualisation.memorySize = 1024; services.gerrit = { enable = true; serverId = "aa76c84b-50b0-4711-a0a0-1ee30e45bbd0"; listenAddress = "[::]:80"; jvmPackage = pkgs.jdk12_headless; jvmHeapLimit = "1g"; plugins = [ lfs ]; builtinPlugins = [ "hooks" "webhooks" ]; settings = { gerrit.canonicalWebUrl = "http://server"; lfs.plugin = "lfs"; plugins.allowRemoteAdmin = true; sshd.listenAddress = "[::]:2222"; sshd.advertisedAddress = "[::]:2222"; }; }; }; client = { ... }: { }; }; testScript = '' start_all() server.wait_for_unit("gerrit.service") server.wait_for_open_port(80) client.succeed("curl http://server") server.wait_for_open_port(2222) client.succeed("nc -z server 2222") ''; })