pull branch argument added

This commit is contained in:
pseusys
2023-03-11 22:46:48 +01:00
parent a152372ebb
commit 407ebd0677
3 changed files with 14 additions and 6 deletions

View File

@@ -17,6 +17,11 @@ inputs:
required: false required: false
default: "waka" default: "waka"
PULL_BRANCH_NAME:
required: false
description: "The branch to get the readme from"
default: ""
PUSH_BRANCH_NAME: PUSH_BRANCH_NAME:
required: false required: false
description: "The branch to update the readme in" description: "The branch to update the readme in"

View File

@@ -17,7 +17,8 @@ class EnvironmentManager:
WAKATIME_API_KEY = environ["INPUT_WAKATIME_API_KEY"] WAKATIME_API_KEY = environ["INPUT_WAKATIME_API_KEY"]
SECTION_NAME = getenv("INPUT_SECTION_NAME", "waka") 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_OS = getenv("INPUT_SHOW_OS", "False").lower() in _TRUTHY
SHOW_PROJECTS = getenv("INPUT_SHOW_PROJECTS", "True").lower() in _TRUTHY SHOW_PROJECTS = getenv("INPUT_SHOW_PROJECTS", "True").lower() in _TRUTHY

View File

@@ -55,9 +55,11 @@ class GitHubManager:
GitHubManager.REMOTE = github.get_repo(GitHubManager._REMOTE_NAME) GitHubManager.REMOTE = github.get_repo(GitHubManager._REMOTE_NAME)
GitHubManager.REPO = Repo.clone_from(GitHubManager._REPO_PATH, to_path=clone_path) GitHubManager.REPO = Repo.clone_from(GitHubManager._REPO_PATH, to_path=clone_path)
GitHubManager.REPO.git.checkout(GitHubManager.branch())
if EM.COMMIT_SINGLE: if EM.COMMIT_SINGLE:
GitHubManager.REPO.git.checkout(GitHubManager.branch(EM.PULL_BRANCH_NAME))
GitHubManager.REPO.git.checkout("--orphan", GitHubManager._SINGLE_COMMIT_BRANCH) GitHubManager.REPO.git.checkout("--orphan", GitHubManager._SINGLE_COMMIT_BRANCH)
else:
GitHubManager.REPO.git.checkout(GitHubManager.branch(EM.PUSH_BRANCH_NAME))
@staticmethod @staticmethod
def _get_author() -> Actor: 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") return Actor(EM.COMMIT_USERNAME or "readme-bot", EM.COMMIT_EMAIL or "41898282+github-actions[bot]@users.noreply.github.com")
@staticmethod @staticmethod
def branch() -> str: def branch(requested_branch: str) -> str:
""" """
Gets name of branch to commit to specified by environmental variables. 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. It is the default branch (regularly, 'main' or 'master') or a branch specified by user.
:returns: Commit author. :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 @staticmethod
def _copy_file_and_add_to_repo(src_path: str): def _copy_file_and_add_to_repo(src_path: str):
@@ -131,7 +133,7 @@ class GitHubManager:
if not EM.DEBUG_RUN: if not EM.DEBUG_RUN:
DBM.i("\tAdding chart to repo...") DBM.i("\tAdding chart to repo...")
GitHubManager._copy_file_and_add_to_repo(path) 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" output += f"![{name} chart]({chart_path})\n\n"
else: else:
@@ -152,7 +154,7 @@ class GitHubManager:
if EM.COMMIT_SINGLE: if EM.COMMIT_SINGLE:
DBM.i("Pushing files to repo as a single commit...") 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) headers = GitHubManager.REPO.remotes.origin.push(force=True, refspec=refspec)
else: else:
DBM.i("Pushing files to repo...") DBM.i("Pushing files to repo...")