GitHub Action to commit & push changes made in workflows
Note: This action is supported on all runners operating systems (ubuntu
, macos
, windows
)
- The
actions/checkout
is mandatory to use this action, as it will be necessary to access the repository files.
steps:
- uses: actions/checkout@v4
# [...] --> steps with actions or commands updating repository files
- uses: GuillaumeFalourd/[email protected]
steps:
- uses: actions/checkout@v4
# [...] --> steps with actions or commands updating repository files
- uses: GuillaumeFalourd/[email protected]
with:
email: ${{ github.actor }}@users.noreply.github.com
name: ${{ github.actor }}
commit_message: your_message
target_branch: target_branch_name
files: file1 file2 directory1 directory2/file3
remote_repository: https://github.com/owner/another_repository
access_token: ${{ github.token }}
force: true
empty: true
tags: true
When pushing to the same repository, the workflow may return the following error using the action:
remote: Permission to <owner>/<repository>.git denied to github-actions[bot].
fatal: unable to access 'https://github.com/<owner>/<repository>/': The requested URL returned error: 403
This can be resolved by adding persist-credentials: false
and fetch-depth: 0
to the workflow configurations when using the actions/checkout
.
- uses: actions/checkout@v4
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of the personal access token.
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
- uses: GuillaumeFalourd/[email protected]
with:
email: ${{ github.actor }}@users.noreply.github.com
name: ${{ github.actor }}
commit_message: your_message
target_branch: target_branch_name
files: file1 file2 directory1 directory2/file3
remote_repository: https://github.com/owner/another_repository
access_token: ${{ github.token }}
force: true
empty: true
tags: true
Field | Mandatory | Default Value | Observation |
---|---|---|---|
NO | ${{ github.actor }}@users.noreply.github.com |
Github user email e.g: [email protected] |
|
name | NO | ${{ github.actor }} |
Github username e.g: octocat |
commit_message | NO | Commit performed using Push and Commit action |
Commit message |
target_branch | NO | ${{ github.ref }} |
Branch to push the changes back |
files | NO | . |
Files to add separated by space e.g: file1 file2 directory1 directory2/file3 |
remote_repository | NO | origin |
Repository url to push the code |
access_token | NO | ${{ github.token }} |
Personal Access Token is necessary if push to another repository |
force | NO | 0 |
Whether to perform force push |
empty | NO | 0 |
Whether to allow empty commit |
tags | NO | 0 |
Whether to use --tags |
☞ This repository uses the Apache License 2.0