Awesome Open Source
Awesome Open Source

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!


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,542,075) 
Automation (6,670) 
Actions (1,724) 
Sync (926) 
Fork (273) 
Related Projects
Advertising 📦 9
All Projects
Application Programming Interfaces 📦 120
Applications 📦 181
Artificial Intelligence 📦 72
Blockchain 📦 70
Build Tools 📦 111
Cloud Computing 📦 79
Code Quality 📦 28
Collaboration 📦 30
Command Line Interface 📦 48
Community 📦 81
Companies 📦 60
Compilers 📦 60
Computer Science 📦 74
Configuration Management 📦 39
Content Management 📦 167
Control Flow 📦 197
Data Formats 📦 77
Data Processing 📦 266
Data Storage 📦 132
Economics 📦 60
Frameworks 📦 198
Games 📦 122
Graphics 📦 103
Hardware 📦 148
Integrated Development Environments 📦 47
Learning Resources 📦 147
Legal 📦 28
Libraries 📦 119
Lists Of Projects 📦 21
Machine Learning 📦 336
Mapping 📦 61
Marketing 📦 15
Mathematics 📦 55
Media 📦 228
Messaging 📦 97
Networking 📦 304
Operating Systems 📦 84
Operations 📦 120
Package Managers 📦 52
Programming Languages 📦 229
Runtime Environments 📦 96
Science 📦 42
Security 📦 375
Social Media 📦 26
Software Architecture 📦 70
Software Development 📦 68
Software Performance 📦 57
Software Quality 📦 127
Text Editors 📦 45
Text Processing 📦 131
User Interface 📦 310
User Interface Components 📦 465
Version Control 📦 29
Virtualization 📦 68
Web Browsers 📦 38
Web Servers 📦 25
Web User Interface 📦 194