0493eab8ce02c4988a16cbe27ad61a20ed8a89df

Author
Carlo Sala <carlosalag@protonmail.com>
Committer
Carlo Sala <carlosalag@protonmail.com>
Date

Message

fix(dependencies): check if repo is clean before committing

Diff

 1diff --git a/.github/workflows/dependencies/updater.py b/.github/workflows/dependencies/updater.py
 2index 6fa32e37878c0b228a66b86be36197100d91cf76..4533b7aeba324a83bce35b14c90747df4a5837c7 100644
 3--- a/.github/workflows/dependencies/updater.py
 4+++ b/.github/workflows/dependencies/updater.py
 5@@ -390,21 +390,27 @@ class Git:
 6         clean_env["GIT_CONFIG_GLOBAL"] = "/dev/null"
 7         clean_env["GIT_CONFIG_NOSYSTEM"] = "1"
 8 
 9-        # Commit with settings above
10-        CommandRunner.run_or_fail(
11-            [
12-                "git",
13-                "-c",
14-                f"user.name={user_name}",
15-                "-c",
16-                f"user.email={user_email}",
17-                "commit",
18-                "-m",
19-                f"feat({scope}): update to {version}",
20-            ],
21-            stage="CreateCommit",
22-            env=clean_env,
23-        )
24+        # check if repo is clean (clean => no error, no commit)
25+        try:
26+            CommandRunner.run_or_fail(
27+                ["git", "diff", "--exit-code"], stage="CheckRepoClean", env=clean_env
28+            )
29+        except CommandRunner.Exception:
30+            # Commit with settings above
31+            CommandRunner.run_or_fail(
32+                [
33+                    "git",
34+                    "-c",
35+                    f"user.name={user_name}",
36+                    "-c",
37+                    f"user.email={user_email}",
38+                    "commit",
39+                    "-m",
40+                    f"feat({scope}): update to {version}",
41+                ],
42+                stage="CreateCommit",
43+                env=clean_env,
44+            )
45 
46     @staticmethod
47     def push(branch: str):