GitHub Action which makes it simple to make verified Git commits as a GitHub app
This action requires a GitHub app installation token. An authentication token
for the app can be easily generated in the GitHub Actions workflow using
electron/github-app-auth-action
. The app must have the "Contents" (read and write) permission and be installed
on the repository.
Stage changes for the commit as you normally would, but to commit them use the
action instead of running git commit
. The changes to commit will be detected
automatically.
If you want to update an existing ref, you should ensure that ref is checked out
in the current Git checkout (you can use the ref
input for
actions/checkout
). You can force the update using the force
input.
If you want to make multiple commits one after the other, be sure to run a
git pull
after using the action so that the working tree is up-to-date before
the next commit.
jobs:
commit-changes:
name: Commit changes
runs-on: ubuntu-latest
steps:
- name: Generate GitHub App token
uses: electron/github-app-auth-action@v1.1.1
id: generate-token
with:
creds: ${{ secrets.GH_APP_CREDS }}
- name: Checkout
id: checkout
uses: actions/checkout@v4.1.1
- name: Stage changes
run: |
echo 'Hello World' > hello-world.txt
git add hello-world.txt
- name: Commit
uses: dsanders11/github-app-commit-action@v1
with:
message: 'feat: my changes'
token: ${{ steps.generate-token.outputs.token }}
fail-on-no-changes
- (optional) Whether or not to set action failure if there are no changes to commit (default:true
)force
- (optional) Whether to force the update or to make sure the update is a fast-forward update when updating an existing ref (default:false
)message
- (required) The commit messageowner
- (optional) The owner of the GitHub repository. Defaults to the owner of the repository this action is running in.ref
- (optional) Git reference to associate the commit with (e.g.main
). If it does not exist it will be created. Defaults to the the current checkout ref.repository
- (optional) The GitHub repository to commit to. Defaults to the repository this action is running in.token
- (required) GitHub App installation access tokenworking-directory
- (optional) The working directory. Defaults to the current working directory.
message
- The commit messageref
- The associated Git referenceref-operation
- Which operation was performed on the ref:created
orupdated
. Has no value if there were no changes to commit.sha
- SHA for the commit
MIT