Deploy files to repo
ActionsTags
(2)Deploy-Files-to-Repo is a GitHub action that helps to deploy files to target repository & automatically creates pull request on it.
Deploy-Files-to-Repo will clone target repository to __${TARGET_REPO}__clone__ folder on $GITHUB_WORKSPACE.
It will copy files/folders from source repository to target repository and make corresponding commits.
After pushing git commits, this action will automatically create pull request to target repository.
Before use Deploy-Files-to-Repo action, please use actions/checkout action firstly because Deploy-Files-to-Repo action need source code workspace.
| Input | required | description | 
|---|---|---|
| source_dir | false | 
Deploy file or folder from this repository. eg. README.md | 
| target_dir | false | 
Deploy target file or folder path into target GitHub repository. eg. doc/README.md of .elastic_runner | 
| target_github_domain | false | 
Target GitHub domain.default: github.com | 
| target_github_api | false | 
Target GitHub API URL.default: https://api.github.com | 
| target_personal_access_token | true | 
Target GitHub personal access token | 
| target_owner | true | 
Target GitHub owner | 
| target_repo | true | 
Target GitHub repository | 
| target_branch | false | 
Target GitHub repository's branch. default: main | 
| target_pre_copy_command | false | 
Run command on target repository before copy files flow. This command path is on $GITHUB_WORKSPACE | 
| target_pre_commit_command | false | 
Run command on target repository before git commit. This command path is on $GITHUB_WORKSPACE/__${TARGET_REPO}__clone__ | 
| commit_msg | false | 
Custom git commit message.default: Deployed $SOURCE_DIR into $TARGET_DIR from $GITHUB_REPOSITORY@${GIT_SHA_SHORT} | 
| pr_title | false | 
Custom PR title.default: Deployed files from ${GITHUB_REPOSITORY} | 
| target_pr_branch | false | 
Custom PR branch.default: deploy-files-to-repo--branches | 
name: deploy-files
on:
  workflow_dispatch:
    inputs:
      source_dir:
        description: "Deploy file or folder from this repo"
        required: true
      target_dir:
        description: "Deploy target file or folder path into target GitHub repository"
        required: true
      target_personal_access_token:
        description: "Target GitHub personal access token"
        required: true
      target_owner:
        description: "Target GitHub owner"
        required: true
      target_repo:
        description: "Target GitHub repository"
        required: true
      target_branch:
        description: "Target GitHub repository branch"
        default: "main"
        required: false
jobs:
  deploy:
    strategy:
      matrix:
        runner:
          - deploy-runner
    runs-on: ${{ matrix.runner }}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/deploy-files-to-repo@main
        with:
          source_dir: ${{ github.event.inputs.source_dir }
          target_dir: ${{ github.event.inputs.target_dir }}}
          target_owner: ${{ github.event.inputs.target_owner }}
          target_repo: ${{ github.event.inputs.target_repo }}
          target_branch: ${{ github.event.inputs.target_branch }}
          target_personal_access_token: ${{ github.event.inputs.target_personal_access_token }}See CONTRIBUTING.md in the repo or the Contributing section on the docs site.
Deploy files to repo is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.