From 20162df66d11b4782b4505ea7e5cd75cf88c9455 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Wed, 24 Dec 2025 14:07:08 -0600 Subject: [PATCH] luarocks-packages-updater: retry luarocks commands on failure Signed-off-by: Austin Horstman --- pkgs/by-name/lu/luarocks-packages-updater/updater.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lu/luarocks-packages-updater/updater.py b/pkgs/by-name/lu/luarocks-packages-updater/updater.py index ff9258694a18..fb934eefee5e 100755 --- a/pkgs/by-name/lu/luarocks-packages-updater/updater.py +++ b/pkgs/by-name/lu/luarocks-packages-updater/updater.py @@ -20,7 +20,7 @@ from multiprocessing.dummy import Pool from pathlib import Path import nixpkgs_plugin_update # type: ignore -from nixpkgs_plugin_update import FetchConfig, Redirects, commit, update_plugins +from nixpkgs_plugin_update import FetchConfig, Redirects, commit, retry, update_plugins class ColoredFormatter(logging.Formatter): @@ -371,6 +371,11 @@ def track_version_change( updated_plugins.append((plug.normalized_name, old_ver, new_ver)) +@retry(subprocess.CalledProcessError, tries=3, delay=3, backoff=2) +def run_luarocks(cmd: list[str]) -> str: + return subprocess.check_output(cmd, text=True) + + def generate_pkg_nix(plug: LuaPlugin): """ Generate nix expression for a luarocks package @@ -409,7 +414,7 @@ def generate_pkg_nix(plug: LuaPlugin): log.debug("running %s", " ".join(cmd)) - output = subprocess.check_output(cmd, text=True) + output = run_luarocks(cmd) ## FIXME: luarocks nix command output isn't formatted properly output = "callPackage(\n" + output.strip() + ") {};\n\n" return (plug, output, None)