diff --git a/entrypoint.sh b/entrypoint.sh index b4db5d8..1fe69fa 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -2,21 +2,71 @@ set -eu -source /lib.sh +_main() { + _switch_to_repository -_switch_to_repository + if _git_is_dirty; then -if _git_is_dirty; then + _setup_git - _setup_git + _switch_to_branch - _switch_to_branch + _add_files - _add_files + _local_commit - _local_commit + _push_to_github + else + echo "Working tree clean. Nothing to commit." + fi +} - _push_to_github -else - echo "Working tree clean. Nothing to commit." -fi + +_switch_to_repository() { + echo "INPUT_REPOSITORY value: $INPUT_REPOSITORY"; + cd $INPUT_REPOSITORY +} + +_git_is_dirty() { + [[ -n "$(git status -s)" ]] +} + +# Set up .netrc file with GitHub credentials +_setup_git ( ) { + cat <<- EOF > $HOME/.netrc + machine github.com + login $GITHUB_ACTOR + password $GITHUB_TOKEN + + machine api.github.com + login $GITHUB_ACTOR + password $GITHUB_TOKEN +EOF + chmod 600 $HOME/.netrc + + git config --global user.email "actions@github.com" + git config --global user.name "GitHub Actions" +} + +_switch_to_branch() { + echo "INPUT_BRANCH value: $INPUT_BRANCH"; + + # Switch to branch from current Workflow run + git checkout $INPUT_BRANCH +} + +_add_files() { + echo "INPUT_FILE_PATTERN: ${INPUT_FILE_PATTERN}" + git add "${INPUT_FILE_PATTERN}" +} + +_local_commit() { + echo "INPUT_COMMIT_OPTIONS: ${INPUT_COMMIT_OPTIONS}" + git commit -m "$INPUT_COMMIT_MESSAGE" --author="$GITHUB_ACTOR <$GITHUB_ACTOR@users.noreply.github.com>" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"} +} + +_push_to_github() { + git push --set-upstream origin "HEAD:$INPUT_BRANCH" +} + +_main diff --git a/lib.sh b/lib.sh deleted file mode 100644 index fefe6ae..0000000 --- a/lib.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -_switch_to_repository() { - echo "INPUT_REPOSITORY value: $INPUT_REPOSITORY"; - cd $INPUT_REPOSITORY -} - -_git_is_dirty() { - [[ -n "$(git status -s)" ]] -} - -# Set up .netrc file with GitHub credentials -_setup_git ( ) { - cat <<- EOF > $HOME/.netrc - machine github.com - login $GITHUB_ACTOR - password $GITHUB_TOKEN - - machine api.github.com - login $GITHUB_ACTOR - password $GITHUB_TOKEN -EOF - chmod 600 $HOME/.netrc - - git config --global user.email "actions@github.com" - git config --global user.name "GitHub Actions" -} - -_switch_to_branch() { - echo "INPUT_BRANCH value: $INPUT_BRANCH"; - - # Switch to branch from current Workflow run - git checkout $INPUT_BRANCH -} - -_add_files() { - echo "INPUT_FILE_PATTERN: ${INPUT_FILE_PATTERN}" - git add "${INPUT_FILE_PATTERN}" -} - -_local_commit() { - echo "INPUT_COMMIT_OPTIONS: ${INPUT_COMMIT_OPTIONS}" - git commit -m "$INPUT_COMMIT_MESSAGE" --author="$GITHUB_ACTOR <$GITHUB_ACTOR@users.noreply.github.com>" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"} -} - -_push_to_github() { - git push --set-upstream origin "HEAD:$INPUT_BRANCH" -}