File tree Expand file tree Collapse file tree 3 files changed +90
-0
lines changed
Expand file tree Collapse file tree 3 files changed +90
-0
lines changed Original file line number Diff line number Diff line change 1+ FROM alpine/git:1.0.7
2+
3+ LABEL "com.github.actions.name" ="Add & Commit"
4+ LABEL "com.github.actions.description" ="Add & commit files from a path directly from GitHub Actions"
5+ LABEL "com.github.actions.icon" ="git-commit"
6+ LABEL "com.github.actions.color" ="black"
7+
8+ LABEL "repository" ="https://github.com/EndBug/add-and-commit"
9+ LABEL "homepage" ="https://github.com/EndBug/add-and-commit"
10+ LABEL "maintainer" ="Federico Grandi <fgrandi30@gmail.com>"
11+
12+ COPY entrypoint.sh /entrypoint.sh
13+
14+ ENTRYPOINT ["sh" , "/entrypoint.sh" ]
Original file line number Diff line number Diff line change 1+ name : ' Add & Commit'
2+ description : ' Add & commit files from a path directly from GitHub Actions'
3+
4+ inputs :
5+ author_name :
6+ description : ' The name of the user that will be displayed as the author of the commit'
7+ required : true
8+ default : ' Add & Commit GitHub Action'
9+ author_email :
10+ description : ' The email of the user that will be displayed as the author of the commit'
11+ required : true
12+ default : ' actions@github.com'
13+ message :
14+ description : ' The message for the commit'
15+ required : true
16+ default : ' Commit from GitHub Actions'
17+ path :
18+ description : ' The path to stage files from'
19+ required : true
20+ default : ' ./**/*.*'
21+
22+ runs :
23+ using : ' docker'
24+ image : ' Dockerfile'
25+
26+ branding :
27+ icon : ' git-commit'
28+ color : black
Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+ set -eu
3+
4+ # Set up .netrc file with GitHub credentials
5+ git_setup ( ) {
6+ cat << - EOF > $HOME /.netrc
7+ machine github.com
8+ login $GITHUB_ACTOR
9+ password $GITHUB_TOKEN
10+
11+ machine api.github.com
12+ login $GITHUB_ACTOR
13+ password $GITHUB_TOKEN
14+ EOF
15+ chmod 600 $HOME /.netrc
16+
17+ git config --global user.email " actions@github.com"
18+ git config --global user.name " Add & Commit GitHub Action"
19+ }
20+
21+ # This is needed to make the check work for untracked files
22+ echo " Staging files in commit path..."
23+ git add " ${INPUT_PATH} "
24+
25+ echo " Checking for uncommitted changes in the git working tree..."
26+ # This section only runs if there have been file changes
27+ if ! git diff --cached --exit-code
28+ then
29+ git_setup
30+
31+ git fetch
32+
33+ # Switch to branch from current Workflow run
34+ echo " Creating and switching branch..."
35+ git branch " ${GITHUB_REF: 11} "
36+ git checkout " ${GITHUB_REF: 11} "
37+
38+ echo " Adding files..."
39+ git add " ${INPUT_PATH} "
40+
41+ echo " Creating commit..."
42+ git commit -m " $INPUT_MESSAGE " --author=" $INPUT_AUTHOR_NAME <$INPUT_AUTHOR_EMAIL >"
43+
44+ echo " Pushing to repo..."
45+ git push --set-upstream origin " ${GITHUB_REF: 11} "
46+ else
47+ echo " Working tree clean. Nothing to commit."
48+ fi
You can’t perform that action at this time.
0 commit comments