tgymnich / Fork Sync
Programming Languages
Labels
Projects that are alternatives of or similar to Fork Sync
Fork Sync
Github action to sync your Forks.
This action uses octokit and the GitHub API to automatically create and merge a pull request with the head defined by head
into the base defined by base
. The head branch owner is defined by owner
. If you create a PR in the same repository you can omit the owner
parameter.
Example Workflow
name: Sync Fork
on:
schedule:
- cron: '*/30 * * * *' # every 30 minutes
workflow_dispatch: # on button click
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: tgymnich/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
owner: llvm
base: master
head: master
Auto approve
If you use a workflow which does not allow to merge pull requests without a review
("Require pull request reviews before merging" in your repo settings)
you can set auto_approve
to true
. In that case you'll have to provide a personal access token
for a user which is allowed to review the pull requests changes. Make sure the token has at least
public_repo
permissions and store the token inside of the repository secrets.
An example workflow would then look like this:
name: Sync Fork
on:
schedule:
- cron: '*/30 * * * *' # every 30 minutes
workflow_dispatch: # on button click
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: tgymnich/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
owner: llvm
base: master
head: master
auto_approve: true
personal_token: ${{ secrets.PERSONAL_TOKEN }}
Parameters
name | Optional | Default | description |
---|---|---|---|
owner | โ | $current_repo_owner | Owner of the forked repository |
github_token | โ | Token to access the Github API | |
head | โ | master | Head branch |
base | โ | master | Base branch |
merge_method | โ | merge | merge, rebase or squash |
pr_title | โ | Fork Sync | Title of the created pull request |
pr_message | โ | Message of the created pull request | |
ignore_fail | โ | Ignore Exceptions | |
auto_approve | โ * | false |
Automatically approve pull request before merge |
personal_token | โ | Usertoken for the user to auto approve the pull request |
โ ๏ธ $current_repo_owner is your own username!
โ ๏ธ Only provide the branch name for head
and base
. user:branch
will not work!
โ ๏ธ * if auto_approve
is set to true
you must provide the personal_token
!