GitHub Action
GitHub App Commit Action
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 messageref
- (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.token
- (required) GitHub App installation access token
ref-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