abi_check: Update submodules
When grabbing a fresh copy of a branch, it's required to also fetch the
submodule. Add fetching the submodule to abi_check.py.
diff --git a/scripts/abi_check.py b/scripts/abi_check.py
index d458d56..7926bc8 100755
--- a/scripts/abi_check.py
+++ b/scripts/abi_check.py
@@ -87,6 +87,18 @@
raise Exception("Checking out worktree failed, aborting")
return git_worktree_path
+ def update_git_submodules(self, git_worktree_path):
+ process = subprocess.Popen(
+ [self.git_command, "submodule", "update", "--init", '--recursive'],
+ cwd=git_worktree_path,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT
+ )
+ output, _ = process.communicate()
+ self.log.info(output.decode("utf-8"))
+ if process.returncode != 0:
+ raise Exception("git submodule update failed, aborting")
+
def build_shared_libraries(self, git_worktree_path):
"""Build the shared libraries in the specified worktree."""
my_environment = os.environ.copy()
@@ -149,6 +161,7 @@
def get_abi_dump_for_ref(self, git_rev):
"""Generate the ABI dumps for the specified git revision."""
git_worktree_path = self.get_clean_worktree_for_git_revision(git_rev)
+ self.update_git_submodules(git_worktree_path)
self.build_shared_libraries(git_worktree_path)
abi_dumps = self.get_abi_dumps_from_shared_libraries(
git_rev, git_worktree_path