From c83fa6ab1aef71951f542f2dc66e5903661084ee Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Fri, 2 Oct 2026 18:20:27 +0800 Subject: [PATCH 1/2] Record build mode only after successful install --- scripts/build_pg_ext.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/build_pg_ext.py b/scripts/build_pg_ext.py index ba0ee156a9..b266fad0e5 100644 --- a/scripts/build_pg_ext.py +++ b/scripts/build_pg_ext.py @@ -178,7 +178,8 @@ def run(mode: str, incremental: bool, deeplake_link_type: str = None, pg_version finally: os.chdir("..") - write_mode(mode) + + write_mode(mode) def read_mode(): try: From 831349bf585fa38b8d51f6f100cee4089c4afa5a Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Sat, 3 Oct 2026 00:12:39 +0800 Subject: [PATCH 2/2] fix: invalidate previous mode before full extension builds --- scripts/build_pg_ext.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/scripts/build_pg_ext.py b/scripts/build_pg_ext.py index b266fad0e5..51fc93299a 100644 --- a/scripts/build_pg_ext.py +++ b/scripts/build_pg_ext.py @@ -119,6 +119,9 @@ def run(mode: str, incremental: bool, deeplake_link_type: str = None, pg_version if mode not in modes: raise Exception(f"Invalid mode - '{mode}'. Possible values - {', '.join(modes)}") + if not incremental: + invalidate_mode() + os.chdir("cpp") # include path to specific verison from manylinux docker container in the path, so vcpkg_find_acquire_package can find it @@ -195,6 +198,20 @@ def read_mode(): raise Exception("No previous mode found for incremental build. Please run full build.") +def invalidate_mode(): + try: + with open('.buildinfo') as f: + data = json.load(f) + except (FileNotFoundError, json.JSONDecodeError): + return + + previous = data.get("deeplake-pg") + if isinstance(previous, dict) and "mode" in previous: + del previous["mode"] + with open('.buildinfo', 'w') as f: + json.dump(data, f) + + def write_mode(mode: str): data = dict() try: