Gather information from The GitHub Event (#10)

* addind jq to dockerfile and unsing info from head commit

* remove inputs

* remove quotes from author information

* author and email not from input

- ignored files from intellij

* setting author name and email if given as input

* remove over-the-top echoing

* Fix typos & formatting

* Try to fix checks

* Fix checks

The new check works the opposite way
This commit is contained in:
Tor Egil Jacobsen
2019-12-14 18:06:22 +01:00
committed by Federico Grandi
parent 7a1f5ecb56
commit 3f7ee98226
4 changed files with 23 additions and 9 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.idea
*.iml

View File

@@ -9,6 +9,8 @@ LABEL "repository"="https://github.com/EndBug/add-and-commit"
LABEL "homepage"="https://github.com/EndBug/add-and-commit" LABEL "homepage"="https://github.com/EndBug/add-and-commit"
LABEL "maintainer"="Federico Grandi <fgrandi30@gmail.com>" LABEL "maintainer"="Federico Grandi <fgrandi30@gmail.com>"
RUN apk add jq
COPY entrypoint.sh /entrypoint.sh COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["sh", "/entrypoint.sh"] ENTRYPOINT ["sh", "/entrypoint.sh"]

View File

@@ -3,13 +3,11 @@ description: 'Add & commit files from a path directly from GitHub Actions'
inputs: inputs:
author_name: author_name:
description: 'The name of the user that will be displayed as the author of the commit' description: 'The name of the user that will be displayed as the author of the commit, defaults to author name of head commit'
required: true required: false
default: 'Add & Commit GitHub Action'
author_email: author_email:
description: 'The email of the user that will be displayed as the author of the commit' description: 'The email of the user that will be displayed as the author of the commit, defaults to author email of head commit'
required: true required: false
default: 'actions@github.com'
force: force:
description: 'Whether to use the force option on git add, in order to bypass eventual gitignores' description: 'Whether to use the force option on git add, in order to bypass eventual gitignores'
required: false required: false

View File

@@ -1,6 +1,18 @@
#!/bin/sh #!/bin/sh
set -eu set -eu
if [ -z "$INPUT_AUTHOR_NAME" ] # Check if the variable is empty
then AUTHOR_NAME=$(cat "$GITHUB_EVENT_PATH" | jq '.head_commit.author.name' | sed 's/"//g') # If so, fetch the author from the event
else AUTHOR_NAME=$INPUT_AUTHOR_NAME # If not, use that value
fi
if [ -z "$INPUT_AUTHOR_EMAIL" ]
then AUTHOR_EMAIL=$(cat "$GITHUB_EVENT_PATH" | jq '.head_commit.author.email' | sed 's/"//g')
else AUTHOR_EMAIL=$INPUT_AUTHOR_EMAIL
fi
echo "Using '$AUTHOR_NAME' and '$AUTHOR_EMAIL' as author information."
# Set up .netrc file with GitHub credentials # Set up .netrc file with GitHub credentials
git_setup() { git_setup() {
cat <<- EOF > $HOME/.netrc cat <<- EOF > $HOME/.netrc
@@ -14,8 +26,8 @@ git_setup() {
EOF EOF
chmod 600 $HOME/.netrc chmod 600 $HOME/.netrc
git config --global user.email "actions@github.com" git config --global user.email "$AUTHOR_EMAIL"
git config --global user.name "Add & Commit GitHub Action" git config --global user.name "$AUTHOR_NAME"
} }
add() { add() {
@@ -52,7 +64,7 @@ then
add add
echo "Creating commit..." echo "Creating commit..."
git commit -m "$INPUT_MESSAGE" --author="$INPUT_AUTHOR_NAME <$INPUT_AUTHOR_EMAIL>" git commit -m "$INPUT_MESSAGE" --author="$AUTHOR_NAME <$AUTHOR_EMAIL>"
echo "Pushing to repo..." echo "Pushing to repo..."
git push --set-upstream origin "${GITHUB_REF:11}" git push --set-upstream origin "${GITHUB_REF:11}"