/action-sync-repos

Sync repositories

Primary LanguageShellApache License 2.0Apache-2.0

Action sync repositires

This GitHub Action copies the whole repository, into another one, excluding

Example Workflow

name: Push File

on: push

jobs:
  pull-request:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2

    - name: Create pull request
      uses: Sealos/action-sync-repos@v1.0.0
      env:
        API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
      with:
        source_folder: 'source-folder'
        destination_repo: 'user-name/repository-name'
        destination_folder: 'folder-name'
        destination_base_branch: 'branch-name'
        destination_head_branch: 'branch-name'
        user_email: 'user-name@paygo.com.br'
        user_name: 'user-name'
        pull_request_reviewers: 'reviewers'

Variables

  • source_folder: The folder to be moved. Uses the same syntax as the cp command. Incude the path for any files not in the repositories root directory.
  • destination_repo: The repository to place the file or directory in.
  • destination_folder: [optional] The folder in the destination repository to place the file in, if not the root directory.
  • user_email: The GitHub user email associated with the API token secret.
  • user_name: The GitHub username associated with the API token secret.
  • destination_base_branch: [optional] The branch into which you want your code merged. Default is main.
  • destination_head_branch: The branch to create to push the changes. Cannot be master or main.
  • pull_request_reviewers: [optional] The pull request reviewers. It can be only one (just like 'reviewer') or many (just like 'reviewer1,reviewer2,...')

ENV

  • API_TOKEN_GITHUB: You must create a personal access token in you account. Follow the link:

You must select the scopes: 'repo = Full control of private repositories', 'admin:org = read:org' and 'write:discussion = Read:discussion';