nixos/tests/immich-vectorchord-reindex: init
This commit is contained in:
@@ -733,6 +733,7 @@ in
|
|||||||
immich = runTest ./web-apps/immich.nix;
|
immich = runTest ./web-apps/immich.nix;
|
||||||
immich-public-proxy = runTest ./web-apps/immich-public-proxy.nix;
|
immich-public-proxy = runTest ./web-apps/immich-public-proxy.nix;
|
||||||
immich-vectorchord-migration = runTest ./web-apps/immich-vectorchord-migration.nix;
|
immich-vectorchord-migration = runTest ./web-apps/immich-vectorchord-migration.nix;
|
||||||
|
immich-vectorchord-reindex = runTest ./web-apps/immich-vectorchord-reindex.nix;
|
||||||
incron = runTest ./incron.nix;
|
incron = runTest ./incron.nix;
|
||||||
incus = pkgs.recurseIntoAttrs (
|
incus = pkgs.recurseIntoAttrs (
|
||||||
handleTest ./incus {
|
handleTest ./incus {
|
||||||
|
|||||||
74
nixos/tests/web-apps/immich-vectorchord-reindex.nix
Normal file
74
nixos/tests/web-apps/immich-vectorchord-reindex.nix
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
name = "immich-vectorchord-reindex";
|
||||||
|
|
||||||
|
nodes.machine =
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
# These tests need a little more juice
|
||||||
|
virtualisation = {
|
||||||
|
cores = 2;
|
||||||
|
memorySize = 2048;
|
||||||
|
diskSize = 4096;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.immich = {
|
||||||
|
enable = true;
|
||||||
|
environment.IMMICH_LOG_LEVEL = "verbose";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.postgresql.extensions = lib.mkForce (ps: [
|
||||||
|
ps.pgvector
|
||||||
|
# pin vectorchord to an older version simulate version bump
|
||||||
|
(ps.vectorchord.overrideAttrs (prevAttrs': rec {
|
||||||
|
version = "0.5.2";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "tensorchord";
|
||||||
|
repo = "vectorchord";
|
||||||
|
tag = version;
|
||||||
|
hash = "sha256-KGwiY5t1ivFiYex3D20y3sdiu3CT9LCDd2fPnRE56jM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
|
||||||
|
inherit src;
|
||||||
|
hash = "sha256-Vn3c/xuUpQzERJ74I0qbvufTZtW3goefPa5B/nOUO48=";
|
||||||
|
};
|
||||||
|
}))
|
||||||
|
]);
|
||||||
|
|
||||||
|
specialisation."immich-vectorchord-upgraded".configuration = {
|
||||||
|
# needs to be lower than mkForce, otherwise it does not get rid of the previous version
|
||||||
|
services.postgresql.extensions = lib.mkOverride 40 (ps: [
|
||||||
|
ps.pgvector
|
||||||
|
ps.vectorchord
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript =
|
||||||
|
{ nodes, ... }:
|
||||||
|
let
|
||||||
|
specBase = "${nodes.machine.system.build.toplevel}/specialisation";
|
||||||
|
vectorchordUpgraded = "${specBase}/immich-vectorchord-upgraded";
|
||||||
|
in
|
||||||
|
''
|
||||||
|
def immich_works():
|
||||||
|
machine.wait_for_unit("immich-server.service")
|
||||||
|
|
||||||
|
machine.wait_for_open_port(2283) # Server
|
||||||
|
machine.wait_for_open_port(3003) # Machine learning
|
||||||
|
machine.succeed("curl --fail http://localhost:2283/")
|
||||||
|
|
||||||
|
immich_works()
|
||||||
|
|
||||||
|
machine.succeed("${vectorchordUpgraded}/bin/switch-to-configuration test")
|
||||||
|
|
||||||
|
# just tests that reindexing is triggered
|
||||||
|
machine.wait_until_succeeds(
|
||||||
|
"journalctl -o cat -u postgresql-setup.service | grep 'REINDEX'"
|
||||||
|
)
|
||||||
|
|
||||||
|
immich_works()
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -251,7 +251,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
tests = {
|
tests = {
|
||||||
inherit (nixosTests) immich immich-vectorchord-migration;
|
inherit (nixosTests) immich immich-vectorchord-migration immich-vectorchord-reindex;
|
||||||
};
|
};
|
||||||
|
|
||||||
machine-learning = immich-machine-learning;
|
machine-learning = immich-machine-learning;
|
||||||
|
|||||||
Reference in New Issue
Block a user