actionshub/Repo Sync by Topics

Sync a subfolder from a source repository to multiple target repositories discovered by GitHub topics. Creates or updates pull requests with labels/assignees/reviewers. Designed for reusability.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
tokenGitHub token with permissions to read the source repo and push branches and open PRs on target repositories (e.g. GitHub App installation token or PAT).yes
source_repoSource repository in <owner>/<repo> formatyes
source_pathPath in the source repository to copy (e.g. standardfiles/cookbook)yes
target_orgOrganization to search for target repositoriesyes
search_topicsComma-separated list of GitHub topics to filter repositories (e.g. chef-cookbook)yes
topicsAlias for search_topics for backward compatibility. Comma-separated list of GitHub topics to filter repositories.no""
branch_nameBranch name to create/update on targets (default computed if omitted)no""
commit_prefixPrefix for commit message (e.g. 'chore: ')no""
pr_titlePull request titleno""
pr_bodyPull request bodyno""
labelsNewline-separated labels to apply to PRsno""
pr_tagsOptional PR tags/labels to add to created PRs. Provide as a YAML/JSON array or newline-separated string.no""
assigneesNewline-separated GitHub usernames to assignno""
reviewersNewline-separated GitHub usernames to request review fromno""
team_reviewersNewline-separated GitHub team slugs to request review fromno""
dry_runIf true, do not push branches or open PRsnofalse
GH_PATGitHub Personal Access Token to use to get repos and write secretsno
GH_INSTALLATION_TOKENGitHub App Installation Token to use to access reposno
CONFIG_PATHPath to sync configuration file (see README for format)no
IS_FINE_GRAINEDLabel GH_PAT as a fine grained tokenno
PR_LABELSLabels to add to the pull request; set to false to disableno
PR_BODYAdditional content to add to the PR descriptionno
ASSIGNEESUsers to assign to the pull requestno
REVIEWERSUsers to request a review fromno
TEAM_REVIEWERSTeams to request a review fromno
COMMIT_PREFIXPrefix for commit message and pull request title (e.g. "🔄")no
COMMIT_BODYCommit message body appended after two line breaksno
COMMIT_EACH_FILECommit each file separately (true/false)no
GIT_EMAILEmail used for commitsno
GIT_USERNAMEUsername used for commitsno
TMP_DIRWorking directory where sync operations occurno
DRY_RUNRun without updating any repositories (uppercase alternative)no
SKIP_CLEANUPSkip removing the temporary directory (useful for debugging)no
OVERWRITE_EXISTING_PROverwrite an existing sync PR with new changesno
ORIGINAL_MESSAGERe-use the original commit message (when applicable)no
COMMIT_AS_PR_TITLERe-use the commit message as PR title (when applicable)no
SKIP_PRSkip creating a Pull Request and push directlyno
BRANCH_PREFIXDifferent prefix for the new branch in the target repono
FORKUser account used for fork and pull-request workflowno
namedescription
pull_request_urlsNewline-separated list of created/updated pull request URLs