{"id":13486864,"url":"https://github.com/tgymnich/fork-sync","last_synced_at":"2025-05-16T05:06:00.499Z","repository":{"id":39166663,"uuid":"206423318","full_name":"tgymnich/fork-sync","owner":"tgymnich","description":"🔄 Github action to sync your forks","archived":false,"fork":false,"pushed_at":"2024-09-01T14:45:11.000Z","size":20116,"stargazers_count":415,"open_issues_count":17,"forks_count":88,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-06T18:06:11.761Z","etag":null,"topics":["actions","automation","fork","github-action","octokit","sync"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tgymnich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-04T22:05:30.000Z","updated_at":"2025-04-27T09:52:34.000Z","dependencies_parsed_at":"2023-02-17T06:05:25.318Z","dependency_job_id":"3fd13a66-067d-45f8-a411-72b5584ea5ca","html_url":"https://github.com/tgymnich/fork-sync","commit_stats":{"total_commits":182,"total_committers":21,"mean_commits":8.666666666666666,"dds":0.6978021978021978,"last_synced_commit":"24694a38cabd64d73af8bb26981754121a9c4ba6"},"previous_names":[],"tags_count":56,"template":false,"template_full_name":"actions/typescript-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tgymnich%2Ffork-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tgymnich%2Ffork-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tgymnich%2Ffork-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tgymnich%2Ffork-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tgymnich","download_url":"https://codeload.github.com/tgymnich/fork-sync/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471061,"owners_count":22076585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","automation","fork","github-action","octokit","sync"],"created_at":"2024-07-31T18:00:52.253Z","updated_at":"2025-05-16T05:05:55.479Z","avatar_url":"https://github.com/tgymnich.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","JavaScript","automation"],"sub_categories":[],"readme":"# Fork Sync\n[![Build](https://github.com/tgymnich/fork-sync/workflows/PR%20Checks/badge.svg)](https://github.com/tgymnich/fork-sync/actions?workflow=PR%20Checks)\n![Version](https://img.shields.io/github/v/release/tgymnich/fork-sync?style=flat-square)\n\nGithub action to sync your Forks.\nThis 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.\n\n# Example Workflow\n\n```yml\nname: Sync Fork\n\non:\n  schedule:\n    - cron: '*/30 * * * *' # every 30 minutes\n  workflow_dispatch: # on button click\n\njobs:\n  sync:\n\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: tgymnich/fork-sync@v1.8\n        with:\n          owner: llvm\n          base: master\n          head: master\n```\n\n## Auto approve\n\nIf you use a workflow which does not allow to merge pull requests without a review \n(\"Require pull request reviews before merging\" in your [repo settings](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository))\nyou can set `auto_approve` to `true`. In that case you'll have to provide a [personal access token](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token)\nfor a user which is allowed to review the pull requests changes. Make sure the token has at least\n`public_repo` permissions and store the token inside of the [repository secrets](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository).\n\nAn example workflow would then look like this:\n\n```yml\nname: Sync Fork\n\non:\n  schedule:\n    - cron: '*/30 * * * *' # every 30 minutes\n  workflow_dispatch: # on button click\n\njobs:\n  sync:\n\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: tgymnich/fork-sync@v2.0\n        with:\n          token: ${{ secrets.PERSONAL_TOKEN }}\n          owner: llvm\n          base: master\n          head: master\n```\n\n# Parameters\n\n|  name           |   Optional  |   Default              |   description                                        |\n|---              |---          |---                     |---                                                   |\n|   owner         | ✅          | $current_repo_owner    |   Owner of the forked repository                     |\n|   repo          | ✅          | $current_repo_name     |   Name of the forked repository                      |\n|   token         | ✅          | ${{ github.token }}    |   Token  to access the Github API                    |\n|   head          | ✅          | master                 |   Head branch                                        |\n|   base          | ✅          | master                 |   Base branch                                        |\n|   merge_method  | ✅          | merge                  |   merge, rebase or squash                            |\n|   pr_title      | ✅          | Fork Sync              |   Title of the created pull request                  |\n|   pr_message    | ✅          |                        |   Message of the created pull request                |\n|   ignore_fail   | ✅          |                        |   Ignore Exceptions                                  |\n\n⚠️ $current_repo_owner is your own username!\n⚠️ $current_repo_name is the name of the current repository!\n\n⚠️ Only provide the branch name for `head` and `base`. `user:branch` will not work! \n\n⚠️ * if `auto_approve` is set to `true` you must provide a personal access token in `token` the default github token won't work! \n\n# Alternatives\n\nPull Github App - https://github.com/wei/pull\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftgymnich%2Ffork-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftgymnich%2Ffork-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftgymnich%2Ffork-sync/lists"}