diff --git a/nixos/tests/web-apps/pixelfed/default.nix b/nixos/tests/web-apps/pixelfed/default.nix index 00a786d4eb73..bb1972c8747f 100644 --- a/nixos/tests/web-apps/pixelfed/default.nix +++ b/nixos/tests/web-apps/pixelfed/default.nix @@ -4,6 +4,7 @@ let supportedSystems = [ "x86_64-linux" + "aarch64-linux" "i686-linux" ]; in diff --git a/nixos/tests/web-apps/pixelfed/standard.nix b/nixos/tests/web-apps/pixelfed/standard.nix index 6a3776fa8403..cffedd40e2f7 100644 --- a/nixos/tests/web-apps/pixelfed/standard.nix +++ b/nixos/tests/web-apps/pixelfed/standard.nix @@ -4,7 +4,7 @@ nodes = { server = - { pkgs, ... }: + { pkgs, lib, ... }: { services.pixelfed = { enable = true; @@ -19,16 +19,25 @@ ); settings."FORCE_HTTPS_URLS" = false; }; + + # to prevent getting killed by oom + virtualisation.memorySize = 2048; + virtualisation.emptyDiskImages = [ 4096 ]; + swapDevices = [ { device = "/dev/vdb"; } ]; + + # allows running nixos test on qemu without kvm, eg. github actions on aarch64-linux + systemd.settings.Manager.DefaultDeviceTimeoutSec = lib.mkForce 1800; + boot.initrd.kernelModules = [ "virtio_console" ]; }; }; testScript = '' # Wait for Pixelfed PHP pool - server.wait_for_unit("phpfpm-pixelfed.service") + server.wait_for_unit("phpfpm-pixelfed.service", timeout=1800) # Wait for NGINX - server.wait_for_unit("nginx.service") + server.wait_for_unit("nginx.service", timeout=1800) # Wait for HTTP port - server.wait_for_open_port(80) + server.wait_for_open_port(80, timeout=1800) # Access the homepage. server.succeed("curl -H 'Host: pixelfed.local' http://localhost") # Create an account diff --git a/pkgs/by-name/pi/pixelfed/package.nix b/pkgs/by-name/pi/pixelfed/package.nix index d2343eb3150a..8270d35c6b73 100644 --- a/pkgs/by-name/pi/pixelfed/package.nix +++ b/pkgs/by-name/pi/pixelfed/package.nix @@ -7,19 +7,21 @@ dataDir ? "/var/lib/pixelfed", runtimeDir ? "/run/pixelfed", }: - -php.buildComposerProject2 (finalAttrs: { +let + php' = php.withExtensions ({ enabled, all }: enabled ++ (with all; [ ffi ])); +in +php'.buildComposerProject2 (finalAttrs: { pname = "pixelfed"; - version = "0.12.6"; + version = "0.12.7"; src = fetchFromGitHub { owner = "pixelfed"; repo = "pixelfed"; tag = "v${finalAttrs.version}"; - hash = "sha256-FxJWoFNyIGQ6o9g2Q0/jaBMyeH8UnbTgha2goHAurvY="; + hash = "sha256-Ay1WJWEPwzeTtScaj+g72lsoWODeHWtjnQT5aa6epbU="; }; - vendorHash = "sha256-4x+vvkQUhqxBwm+9Lx7n6Ww6qvfLwqd8IXXCuCSAijE="; + vendorHash = "sha256-RNJzvWrKfxr2uBFtc05N1pUfBmvy01JiJHMWgtJ01pA="; postInstall = '' chmod -R u+w $out/share