66 lines
1.8 KiB
Nix
66 lines
1.8 KiB
Nix
import ../make-test-python.nix (
|
|
{ pkgs, lib, ... }:
|
|
let
|
|
domain = "sourcehut.localdomain";
|
|
in
|
|
{
|
|
name = "sourcehut";
|
|
|
|
meta.maintainers = with pkgs.lib.maintainers; [
|
|
tomberek
|
|
nessdoor
|
|
];
|
|
|
|
nodes.machine =
|
|
{
|
|
config,
|
|
pkgs,
|
|
nodes,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
./nodes/common.nix
|
|
];
|
|
|
|
networking.domain = domain;
|
|
networking.extraHosts = ''
|
|
${config.networking.primaryIPAddress} builds.${domain}
|
|
${config.networking.primaryIPAddress} meta.${domain}
|
|
'';
|
|
|
|
services.sourcehut = {
|
|
builds = {
|
|
enable = true;
|
|
# FIXME: see why it does not seem to activate fully.
|
|
#enableWorker = true;
|
|
images = { };
|
|
};
|
|
|
|
settings."builds.sr.ht" = {
|
|
oauth-client-secret = pkgs.writeText "buildsrht-oauth-client-secret" "2260e9c4d9b8dcedcef642860e0504bc";
|
|
oauth-client-id = "299db9f9c2013170";
|
|
};
|
|
};
|
|
};
|
|
|
|
testScript = ''
|
|
start_all()
|
|
machine.wait_for_unit("multi-user.target")
|
|
|
|
with subtest("Check whether meta comes up"):
|
|
machine.wait_for_unit("metasrht-api.service")
|
|
machine.wait_for_unit("metasrht.service")
|
|
machine.wait_for_unit("metasrht-webhooks.service")
|
|
machine.wait_for_open_port(5000)
|
|
machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}")
|
|
machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}")
|
|
|
|
with subtest("Check whether builds comes up"):
|
|
machine.wait_for_unit("buildsrht.service")
|
|
machine.wait_for_open_port(5002)
|
|
machine.succeed("curl -sL http://localhost:5002 | grep builds.${domain}")
|
|
#machine.wait_for_unit("buildsrht-worker.service")
|
|
'';
|
|
}
|
|
)
|