From 407ebd067728698e48ba4b8ec5953464db37f4b7 Mon Sep 17 00:00:00 2001 From: pseusys Date: Sat, 11 Mar 2023 22:46:48 +0100 Subject: [PATCH] pull branch argument added --- action.yml | 5 +++++ sources/manager_environment.py | 3 ++- sources/manager_github.py | 12 +++++++----- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/action.yml b/action.yml index 92dbebc..8a413d8 100644 --- a/action.yml +++ b/action.yml @@ -17,6 +17,11 @@ inputs: required: false default: "waka" + PULL_BRANCH_NAME: + required: false + description: "The branch to get the readme from" + default: "" + PUSH_BRANCH_NAME: required: false description: "The branch to update the readme in" diff --git a/sources/manager_environment.py b/sources/manager_environment.py index ead2068..33bbee4 100644 --- a/sources/manager_environment.py +++ b/sources/manager_environment.py @@ -17,7 +17,8 @@ class EnvironmentManager: WAKATIME_API_KEY = environ["INPUT_WAKATIME_API_KEY"] SECTION_NAME = getenv("INPUT_SECTION_NAME", "waka") - BRANCH_NAME = getenv("INPUT_PUSH_BRANCH_NAME", "") + PULL_BRANCH_NAME = getenv("INPUT_PULL_BRANCH_NAME", "") + PUSH_BRANCH_NAME = getenv("INPUT_PUSH_BRANCH_NAME", "") SHOW_OS = getenv("INPUT_SHOW_OS", "False").lower() in _TRUTHY SHOW_PROJECTS = getenv("INPUT_SHOW_PROJECTS", "True").lower() in _TRUTHY diff --git a/sources/manager_github.py b/sources/manager_github.py index e7b543e..e7d652d 100644 --- a/sources/manager_github.py +++ b/sources/manager_github.py @@ -55,9 +55,11 @@ class GitHubManager: GitHubManager.REMOTE = github.get_repo(GitHubManager._REMOTE_NAME) GitHubManager.REPO = Repo.clone_from(GitHubManager._REPO_PATH, to_path=clone_path) - GitHubManager.REPO.git.checkout(GitHubManager.branch()) if EM.COMMIT_SINGLE: + GitHubManager.REPO.git.checkout(GitHubManager.branch(EM.PULL_BRANCH_NAME)) GitHubManager.REPO.git.checkout("--orphan", GitHubManager._SINGLE_COMMIT_BRANCH) + else: + GitHubManager.REPO.git.checkout(GitHubManager.branch(EM.PUSH_BRANCH_NAME)) @staticmethod def _get_author() -> Actor: @@ -73,14 +75,14 @@ class GitHubManager: return Actor(EM.COMMIT_USERNAME or "readme-bot", EM.COMMIT_EMAIL or "41898282+github-actions[bot]@users.noreply.github.com") @staticmethod - def branch() -> str: + def branch(requested_branch: str) -> str: """ Gets name of branch to commit to specified by environmental variables. It is the default branch (regularly, 'main' or 'master') or a branch specified by user. :returns: Commit author. """ - return GitHubManager.REMOTE.default_branch if EM.BRANCH_NAME == "" else EM.BRANCH_NAME + return GitHubManager.REMOTE.default_branch if requested_branch == "" else requested_branch @staticmethod def _copy_file_and_add_to_repo(src_path: str): @@ -131,7 +133,7 @@ class GitHubManager: if not EM.DEBUG_RUN: DBM.i("\tAdding chart to repo...") GitHubManager._copy_file_and_add_to_repo(path) - chart_path = f"https://raw.githubusercontent.com/{GitHubManager._REMOTE_NAME}/{GitHubManager.branch()}/{path}" + chart_path = f"https://raw.githubusercontent.com/{GitHubManager._REMOTE_NAME}/{GitHubManager.branch(EM.PUSH_BRANCH_NAME)}/{path}" output += f"![{name} chart]({chart_path})\n\n" else: @@ -152,7 +154,7 @@ class GitHubManager: if EM.COMMIT_SINGLE: DBM.i("Pushing files to repo as a single commit...") - refspec = f"{GitHubManager._SINGLE_COMMIT_BRANCH}:{GitHubManager.branch()}" + refspec = f"{GitHubManager._SINGLE_COMMIT_BRANCH}:{GitHubManager.branch(EM.PUSH_BRANCH_NAME)}" headers = GitHubManager.REPO.remotes.origin.push(force=True, refspec=refspec) else: DBM.i("Pushing files to repo...")