• Stars
    star
    321
  • Rank 130,377 (Top 3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 5 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ”„ Github action to sync your forks

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
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

โš ๏ธ $current_repo_owner is your own username! โš ๏ธ $current_repo_name is the name of the current repository!

โš ๏ธ 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!