GithubHelp home page GithubHelp logo

cxvh / copycat-action Goto Github PK

View Code? Open in Web Editor NEW

This project forked from andstor/copycat-action

0.0 0.0 0.0 492 KB

GitHub Action如何克隆仓库看这里、 :copyright::octocat: GitHub Action for copying files to other repositories

Home Page: https://github.com/marketplace/actions/copycat-action

License: MIT License

Dockerfile 3.24% Shell 96.76%

copycat-action's Introduction

Copycat Logo

COPYCAT

GitHub Action for copying files to other repositories.

This is a GitHub action to copy files from your repository to another external repository. It is also possible to copy files from/to repository Wikis.

This action runs in a Docker container and therefore only supports Linux.

Usage

The following example workflow step will copy all files from the repository running the action, to a folder named backup in the destination repo copycat-action. If the files already exist at the destination repo, they will be overwritten.

- name: Copy
  uses: andstor/copycat-action@v3
  with:
    personal_token: ${{ secrets.PERSONAL_TOKEN }}
    src_path: /.
    dst_path: /backup/
    dst_owner: andstor
    dst_repo_name: copycat-action

Options ⚙️

The following input variable options can/must be configured:

Input variable Necessity Description Default
src_path Required The source path to the file(s) or folder(s) to copy from. For example /. or path/to/home.md.
dst_path Optional The destination path to copy the file(s) or folder(s) to. For example /wiki/ or path/to/index.md. src_path
dst_owner Required The name of the owner of the repository to push to. For example andstor.
dst_repo_name Required The name of the repository to push to. For example copycat-action.
src_branch Optional The name of the branch in source repository to clone from. master
dst_branch Optional The name of the branch in the destination repository to push to. If the branch doesn't exists, the branch will be created based on the default branch. master
clean Optional Set to true if the dst_path should be emptied before copying. false
file_filter Optional A simple pattern for filtering files to be copied. Acts on file basename. For example *.sh.
filter Optional A glob pattern for filtering files to be copied. Acts on file paths. For example **/!(*.*).
exclude Optional A glob pattern for excluding paths. For example */tests/*.
src_wiki Optional Set to true if the source repository you want to copy from is the GitHub Wiki. false
dst_wiki Optional Set to true if the destination repository you want to copy from is the GitHub Wiki. false
commit_message Optional A custom git commit message.
username Optional The GitHub username to associate commits made by this GitHub action. GITHUB_ACTOR
email Optional The email used for associating commits made by this GitHub action. GITHUB_ACTOR @users.noreply.github.com

Secrets

  • personal_token: (required) GitHub Private Access Token used for the clone/push operations. To create it follow the GitHub Documentation.

Filtering

Copycat provides several ways of filtering which files you want to copy.
All three types of filtering can be applied simultaneously.

Input variables

file_filter

The file_filterinput variable allows you to filter file basenames. Hence, you can for example only copy all text files by setting file_filterto *.txt. The variable only accepts simple patterns.

filter

The filter input variable provides extensive globbing support. It also supports extended globbing and globstar. The globbing applies to file paths. So, to for example match all files that doesn't have a file extention, the pattern could look like **/!(*.*).

exclude

The exclude input variable can be used to exclude certain paths. It will apply to the file paths. One are for example able to exclude certain deirectory names. Setting exclude to */tests/* results in only copying files that don't lie inside a folder named tests (both directly and indirectly). Here, a file with for example the path foo/tests/bar/baz.txt would not be copied over.

Examples

Copy wiki files to external repo

This workflow configuration will copy all files from the repository's wiki to a folder named wiki in the destination repo andstor.github.io.

This can for example be used to merge several wikies of an organisation, and display them on a custom GitHub Pages site. The Jekyll theme Paper has support for this.

name: Copy
on: gollum
jobs:
  copy:
    runs-on: ubuntu-latest
    steps:
    - name: Copycat
      uses: andstor/copycat-action@v3
      with:
        personal_token: ${{ secrets.PERSONAL_TOKEN }}
        src_path: /.
        dst_path: /wiki/
        dst_owner: andstor
        dst_repo_name: andstor.github.io
        dst_branch: master
        src_branch: master
        src_wiki: true
        dst_wiki: false
        username: nutsbot
        email: [email protected]

Author

The Copycat GitHub action is written by André Storhaug [email protected]

License

This project is licensed under the MIT License - see the LICENSE file for details.

copycat-action's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.