From 6de1ee93f4a8e0fcd678c216d508617246cb537b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 12 May 2025 11:30:12 +0000 Subject: [PATCH 1/3] chore(deps): lock file maintenance --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index c9ae25d51..b28528a73 100644 --- a/flake.lock +++ b/flake.lock @@ -118,10 +118,10 @@ "nixpkgs": { "locked": { "lastModified": 315532800, - "narHash": "sha256-EbVl0wIdDYZWrxpQoxPlXfliaR4KHA9xP5dVjG1CZxI=", - "rev": "ed30f8aba41605e3ab46421e3dcb4510ec560ff8", + "narHash": "sha256-kgy4FnRFGj62QO3kI6a6glFl8XUtKMylWGybnVCvycM=", + "rev": "b3582c75c7f21ce0b429898980eddbbf05c68e55", "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.05pre794180.ed30f8aba416/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.05pre796313.b3582c75c7f2/nixexprs.tar.xz" }, "original": { "type": "tarball", From ffeaf2ee1f504e5019777271e89f876ace957b28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 12 May 2025 15:10:29 +0200 Subject: [PATCH 2/3] checks/mumble: make delays between keyboard clicks more robust --- checks/mumble/default.nix | 72 ++++++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 23 deletions(-) diff --git a/checks/mumble/default.nix b/checks/mumble/default.nix index 8130ebfac..a248a1079 100644 --- a/checks/mumble/default.nix +++ b/checks/mumble/default.nix @@ -47,6 +47,20 @@ clanLib.test.makeTestClan { nodes.peer2 = common; testScript = '' + import time + import re + + + def machine_has_text(machine: Machine, regex: str) -> bool: + variants = machine.get_screen_text_variants() + # for debugging + # machine.screenshot(f"/tmp/{machine.name}.png") + for text in variants: + print(f"Expecting '{regex}' in '{text}'") + if re.search(regex, text) is not None: + return True + return False + start_all() with subtest("Waiting for x"): @@ -63,41 +77,53 @@ clanLib.test.makeTestClan { peer2.execute("mumble >&2 &") with subtest("Wait for Mumble"): - peer1.wait_for_window(r"^Mumble$") - peer2.wait_for_window(r"^Mumble$") + peer1.wait_for_window(r"Mumble") + peer2.wait_for_window(r"Mumble") with subtest("Wait for certificate creation"): - peer1.wait_for_window(r"^Mumble$") - peer1.sleep(3) # mumble is slow to register handlers - peer1.send_chars("\n") - peer1.send_chars("\n") - peer2.wait_for_window(r"^Mumble$") - peer2.sleep(3) # mumble is slow to register handlers - peer2.send_chars("\n") - peer2.send_chars("\n") + peer1.wait_for_window(r"Mumble") + peer2.wait_for_window(r"Mumble") - with subtest("Wait for server connect"): - peer1.wait_for_window(r"^Mumble Server Connect$") - peer2.wait_for_window(r"^Mumble Server Connect$") + for i in range(20): + time.sleep(1) + peer1.send_chars("\n") + peer1.send_chars("\n") + peer2.send_chars("\n") + peer2.send_chars("\n") + if machine_has_text(peer1, r"Mumble Server Connect") and \ + machine_has_text(peer2, r"Mumble Server Connect"): + break + else: + raise Exception("Timeout waiting for certificate creation") with subtest("Check validity of server certificates"): peer1.execute("killall .mumble-wrapped") peer1.sleep(1) peer1.execute("mumble mumble://peer2 >&2 &") - peer1.wait_for_window(r"^Mumble$") - peer1.sleep(3) # mumble is slow to register handlers - peer1.send_chars("\n") - peer1.send_chars("\n") - peer1.wait_for_text("Connected.") + peer1.wait_for_window(r"Mumble") + + for i in range(20): + time.sleep(1) + peer1.send_chars("\n") + peer1.send_chars("\n") + if machine_has_text(peer1, "Connected."): + break + else: + raise Exception("Timeout waiting for certificate creation") peer2.execute("killall .mumble-wrapped") peer2.sleep(1) peer2.execute("mumble mumble://peer1 >&2 &") - peer2.wait_for_window(r"^Mumble$") - peer2.sleep(3) # mumble is slow to register handlers - peer2.send_chars("\n") - peer2.send_chars("\n") - peer2.wait_for_text("Connected.") + peer2.wait_for_window(r"Mumble") + + for i in range(20): + time.sleep(1) + peer2.send_chars("\n") + peer2.send_chars("\n") + if machine_has_text(peer2, "Connected."): + break + else: + raise Exception("Timeout waiting for certificate creation") ''; } ); From 4a64ce24810ce9cba701d12794af0d66a19fe68d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 12 May 2025 15:27:58 +0200 Subject: [PATCH 3/3] checks/mumble: disable on x86_64-linux for now --- checks/flake-module.nix | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/checks/flake-module.nix b/checks/flake-module.nix index bc8a58a3a..6bde03bf0 100644 --- a/checks/flake-module.nix +++ b/checks/flake-module.nix @@ -34,27 +34,32 @@ in inherit self; inherit (self) clanLib; }; - nixosTests = lib.optionalAttrs (pkgs.stdenv.isLinux) { - # Deltachat is currently marked as broken - # deltachat = import ./deltachat nixosTestArgs; + nixosTests = + lib.optionalAttrs (pkgs.stdenv.isLinux) { + # Deltachat is currently marked as broken + # deltachat = import ./deltachat nixosTestArgs; - # Base Tests - secrets = self.clanLib.test.baseTest ./secrets nixosTestArgs; - borgbackup = self.clanLib.test.baseTest ./borgbackup nixosTestArgs; - wayland-proxy-virtwl = self.clanLib.test.baseTest ./wayland-proxy-virtwl nixosTestArgs; + # Base Tests + secrets = self.clanLib.test.baseTest ./secrets nixosTestArgs; + borgbackup = self.clanLib.test.baseTest ./borgbackup nixosTestArgs; + wayland-proxy-virtwl = self.clanLib.test.baseTest ./wayland-proxy-virtwl nixosTestArgs; - # Container Tests - container = self.clanLib.test.containerTest ./container nixosTestArgs; - zt-tcp-relay = self.clanLib.test.containerTest ./zt-tcp-relay nixosTestArgs; - matrix-synapse = self.clanLib.test.containerTest ./matrix-synapse nixosTestArgs; - postgresql = self.clanLib.test.containerTest ./postgresql nixosTestArgs; + # Container Tests + container = self.clanLib.test.containerTest ./container nixosTestArgs; + zt-tcp-relay = self.clanLib.test.containerTest ./zt-tcp-relay nixosTestArgs; + matrix-synapse = self.clanLib.test.containerTest ./matrix-synapse nixosTestArgs; + postgresql = self.clanLib.test.containerTest ./postgresql nixosTestArgs; - # Clan Tests - mumble = import ./mumble nixosTestArgs; - dummy-inventory-test = import ./dummy-inventory-test nixosTestArgs; - data-mesher = import ./data-mesher nixosTestArgs; - syncthing = import ./syncthing nixosTestArgs; - }; + # Clan Tests + dummy-inventory-test = import ./dummy-inventory-test nixosTestArgs; + data-mesher = import ./data-mesher nixosTestArgs; + syncthing = import ./syncthing nixosTestArgs; + } + // lib.optionalAttrs (pkgs.stdenv.hostPlatform.system == "aarch64-linux") { + # for some reason this hangs in an odd place in CI, but it works on my machine ... + # on aarch64-linux it works though + mumble = import ./mumble nixosTestArgs; + }; packagesToBuild = lib.removeAttrs self'.packages [ # exclude the check that checks that nothing depends on the repo root