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.
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:
owner: llvm
base: master
head: masterIf 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:
token: ${{ secrets.PERSONAL_TOKEN }}
owner: llvm
base: master
head: master| name | Optional | Default | description |
|---|---|---|---|
| owner | โ | $current_repo_owner | Owner of the forked repository |
| repo | โ | $current_repo_name | Name of the forked repository |
| token | โ | ${{ 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 |
head and base. user:branch will not work!
auto_approve is set to true you must provide a personal access token in token the default github token won't work!
Pull Github App - https://github.com/wei/pull