mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-15 18:30:08 +00:00
fix(dependencies): only open PR if there are changes
This commit is contained in:
parent
309129f651
commit
0621944db5
1 changed files with 44 additions and 34 deletions
26
.github/workflows/dependencies/updater.py
vendored
26
.github/workflows/dependencies/updater.py
vendored
|
@ -228,8 +228,9 @@ class Dependency:
|
||||||
self.__apply_upstream_changes()
|
self.__apply_upstream_changes()
|
||||||
|
|
||||||
# Add all changes and commit
|
# Add all changes and commit
|
||||||
Git.add_and_commit(self.name, short_sha)
|
has_new_commit = Git.add_and_commit(self.name, short_sha)
|
||||||
|
|
||||||
|
if has_new_commit:
|
||||||
# Push changes to remote
|
# Push changes to remote
|
||||||
Git.push(branch)
|
Git.push(branch)
|
||||||
|
|
||||||
|
@ -377,7 +378,21 @@ class Git:
|
||||||
return branch_name
|
return branch_name
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def add_and_commit(scope: str, version: str):
|
def add_and_commit(scope: str, version: str) -> bool:
|
||||||
|
"""
|
||||||
|
Returns `True` if there were changes and were indeed commited.
|
||||||
|
Returns `False` if the repo was clean and no changes were commited.
|
||||||
|
"""
|
||||||
|
# check if repo is clean (clean => no error, no commit)
|
||||||
|
try:
|
||||||
|
CommandRunner.run_or_fail(
|
||||||
|
["git", "diff", "--exit-code"], stage="CheckRepoClean"
|
||||||
|
)
|
||||||
|
return False
|
||||||
|
except CommandRunner.Exception:
|
||||||
|
# if it's other kind of error just throw!
|
||||||
|
pass
|
||||||
|
|
||||||
user_name = os.environ.get("GIT_APP_NAME")
|
user_name = os.environ.get("GIT_APP_NAME")
|
||||||
user_email = os.environ.get("GIT_APP_EMAIL")
|
user_email = os.environ.get("GIT_APP_EMAIL")
|
||||||
|
|
||||||
|
@ -390,12 +405,6 @@ class Git:
|
||||||
clean_env["GIT_CONFIG_GLOBAL"] = "/dev/null"
|
clean_env["GIT_CONFIG_GLOBAL"] = "/dev/null"
|
||||||
clean_env["GIT_CONFIG_NOSYSTEM"] = "1"
|
clean_env["GIT_CONFIG_NOSYSTEM"] = "1"
|
||||||
|
|
||||||
# check if repo is clean (clean => no error, no commit)
|
|
||||||
try:
|
|
||||||
CommandRunner.run_or_fail(
|
|
||||||
["git", "diff", "--exit-code"], stage="CheckRepoClean", env=clean_env
|
|
||||||
)
|
|
||||||
except CommandRunner.Exception:
|
|
||||||
# Commit with settings above
|
# Commit with settings above
|
||||||
CommandRunner.run_or_fail(
|
CommandRunner.run_or_fail(
|
||||||
[
|
[
|
||||||
|
@ -411,6 +420,7 @@ class Git:
|
||||||
stage="CreateCommit",
|
stage="CreateCommit",
|
||||||
env=clean_env,
|
env=clean_env,
|
||||||
)
|
)
|
||||||
|
return True
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def push(branch: str):
|
def push(branch: str):
|
||||||
|
|
Loading…
Reference in a new issue