nixosTests.sourcehut: split tests belonging to different services
This commit is contained in:
parent
2382d423f4
commit
195cbfc012
4 changed files with 61 additions and 19 deletions
|
@ -768,7 +768,7 @@ in {
|
||||||
solanum = handleTest ./solanum.nix {};
|
solanum = handleTest ./solanum.nix {};
|
||||||
sonarr = handleTest ./sonarr.nix {};
|
sonarr = handleTest ./sonarr.nix {};
|
||||||
sonic-server = handleTest ./sonic-server.nix {};
|
sonic-server = handleTest ./sonic-server.nix {};
|
||||||
sourcehut = handleTest ./sourcehut/sourcehut.nix {};
|
sourcehut = handleTest ./sourcehut {};
|
||||||
spacecookie = handleTest ./spacecookie.nix {};
|
spacecookie = handleTest ./spacecookie.nix {};
|
||||||
spark = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./spark {};
|
spark = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./spark {};
|
||||||
sqlite3-to-mysql = handleTest ./sqlite3-to-mysql.nix {};
|
sqlite3-to-mysql = handleTest ./sqlite3-to-mysql.nix {};
|
||||||
|
|
54
nixos/tests/sourcehut/builds.nix
Normal file
54
nixos/tests/sourcehut/builds.nix
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
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")
|
||||||
|
'';
|
||||||
|
})
|
6
nixos/tests/sourcehut/default.nix
Normal file
6
nixos/tests/sourcehut/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{ system, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
git = import ./git.nix { inherit system pkgs; };
|
||||||
|
builds = import ./builds.nix { inherit system pkgs; };
|
||||||
|
}
|
|
@ -14,24 +14,12 @@ in
|
||||||
|
|
||||||
networking.domain = domain;
|
networking.domain = domain;
|
||||||
networking.extraHosts = ''
|
networking.extraHosts = ''
|
||||||
${config.networking.primaryIPAddress} builds.${domain}
|
|
||||||
${config.networking.primaryIPAddress} git.${domain}
|
${config.networking.primaryIPAddress} git.${domain}
|
||||||
${config.networking.primaryIPAddress} meta.${domain}
|
${config.networking.primaryIPAddress} meta.${domain}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.sourcehut = {
|
services.sourcehut = {
|
||||||
builds = {
|
|
||||||
enable = true;
|
|
||||||
# FIXME: see why it does not seem to activate fully.
|
|
||||||
#enableWorker = true;
|
|
||||||
images = { };
|
|
||||||
};
|
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
|
|
||||||
settings."builds.sr.ht" = {
|
|
||||||
oauth-client-secret = pkgs.writeText "buildsrht-oauth-client-secret" "2260e9c4d9b8dcedcef642860e0504bc";
|
|
||||||
oauth-client-id = "299db9f9c2013170";
|
|
||||||
};
|
|
||||||
settings."git.sr.ht" = {
|
settings."git.sr.ht" = {
|
||||||
oauth-client-secret = pkgs.writeText "gitsrht-oauth-client-secret" "3597288dc2c716e567db5384f493b09d";
|
oauth-client-secret = pkgs.writeText "gitsrht-oauth-client-secret" "3597288dc2c716e567db5384f493b09d";
|
||||||
oauth-client-id = "d07cb713d920702e";
|
oauth-client-id = "d07cb713d920702e";
|
||||||
|
@ -106,11 +94,5 @@ in
|
||||||
with subtest("Verify that the repo is downloadable and its contents match the original"):
|
with subtest("Verify that the repo is downloadable and its contents match the original"):
|
||||||
machine.succeed("curl https://git.${domain}/~${userName}/test/archive/v0.1.tar.gz | tar -xz")
|
machine.succeed("curl https://git.${domain}/~${userName}/test/archive/v0.1.tar.gz | tar -xz")
|
||||||
machine.succeed("diff test-v0.1/hello.txt test/hello.txt")
|
machine.succeed("diff test-v0.1/hello.txt test/hello.txt")
|
||||||
|
|
||||||
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")
|
|
||||||
'';
|
'';
|
||||||
})
|
})
|
Loading…
Reference in a new issue