Skip to content

๐Ÿ”„ Github action to sync your forks

License

Notifications You must be signed in to change notification settings

beingtmk/fork-sync

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Fork Sync

Build Version

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:
          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:
          token: ${{ secrets.PERSONAL_TOKEN }}
          owner: llvm
          base: master
          head: master

Parameters

name Optional Default description
owner โœ… $current_repo_owner Owner 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

โš ๏ธ $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 a personal access token in token the default github token won't work!

About

๐Ÿ”„ Github action to sync your forks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 62.7%
  • TypeScript 37.3%