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:
committed by
Federico Grandi
parent
7a1f5ecb56
commit
3f7ee98226
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
.idea
|
||||||
|
*.iml
|
||||||
@@ -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"]
|
||||||
|
|||||||
10
action.yml
10
action.yml
@@ -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
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
Reference in New Issue
Block a user