aormsby/Upstream Sync
Automatically updates a target branch with new commits from an upstream repo, great for forks or parallel projects
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Apr 5, 2026
- License
- MIT
Pinned Snippet
uses: aormsby/fork-sync-with-upstream-action@83d78e8c4bf524e79b091cf257deba4dee9e60df # v3.4.3tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| target_sync_branch | Branch receiving updates from the upstream repo, e.g. => main, master, prod | yes | — |
| target_repo_token | Input for passing secrets.GITHUB_TOKEN when disabling persistent auth in the checkout step | yes | — |
| upstream_repo_access_token | Token for accessing the remote repo through HTTPS authentication | no | — |
| upstream_sync_repo | Upstream repository, e.g. => aormsby/Fork-Sync-With-Upstream-action | yes | — |
| upstream_sync_branch | Branch to sync from, e.g. => main, master, dev | yes | — |
| target_branch_checkout_args | Any extra args to pass to `git checkout` on the source branch, e.g. --recurse-submodules :: default = "" | no | "" |
| git_log_format_args | Args to print the list of new commits from upstream :: default = --pretty=oneline | no | --pretty=oneline |
| upstream_pull_args | Git args passed when running `git pull` against the upstream repo, e.g. --ff-only or --tags :: default = "" | no | "" |
| target_branch_push_args | Git args passed when running `git push` to apply changes to the source repo, e.g. --force :: default = "" | no | "" |
| git_config_user | Git user credentials for sigining commit, (set to "null" for no config) | yes | GH Action - Upstream Sync |
| git_config_email | Git email credentials for sigining commit (set to "null" for no config) | yes | action@github.com |
| git_config_pull_rebase | Git config for "pull.rebase" settings, usually recommend false for this action (set to "null" for no config) | yes | false |
| test_mode | If set to 'true', runs verification test on all inputs and any testable actions that use them | yes | false |
| host_domain | Domain name to be used in upstream repo URL. | yes | github.com |
| target_host_domain | Domain name to be used in target repo URL. | no | github.com |
| shallow_since | Length of time used when fetching shallow repo data, should match how often you perform a sync | yes | 1 month ago |
Outputs
| name | description |
|---|---|
| has_new_commits | true when new commits were included in this sync |