All Projects → andstor → Copycat Action

andstor / Copycat Action

Licence: mit
©️ GitHub Action for copying files to other repositories

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Copycat Action

Poosh
🌎 Publish local files to virtually any remote endpoint (e.g. AWS S3)
Stars: ✭ 55 (+14.58%)
Mutual labels:  publishing, synchronization
in2publish core
in2publish Community Version
Stars: ✭ 38 (-20.83%)
Mutual labels:  synchronization, publishing
Branchsite
CLI tool for publishing your static website to a separate branch
Stars: ✭ 65 (+35.42%)
Mutual labels:  publishing, deployment
github-create-release-action
Github Action that create Github Release automatically
Stars: ✭ 28 (-41.67%)
Mutual labels:  deployment, publishing
actions-publish-gh-pages
🍣 A GitHub Action to publish static website using GitHub Pages
Stars: ✭ 12 (-75%)
Mutual labels:  deployment, publishing
Gradle Play Publisher
GPP is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.
Stars: ✭ 3,690 (+7587.5%)
Mutual labels:  publishing, deployment
Ron Cxx
RON2.1 C++ implementation
Stars: ✭ 33 (-31.25%)
Mutual labels:  synchronization
Copy To Clipboard
✂️ Modern copy to clipboard. No Flash.
Stars: ✭ 39 (-18.75%)
Mutual labels:  copy
Meteor Google Cloud
Automate Meteor deployments on Google Cloud App Engine Flexible
Stars: ✭ 32 (-33.33%)
Mutual labels:  deployment
Akkeeper
An easy way to deploy your Akka services to a distributed environment.
Stars: ✭ 30 (-37.5%)
Mutual labels:  deployment
Sile
Simon’s Improved Layout Engine
Stars: ✭ 1,032 (+2050%)
Mutual labels:  publishing
Seodeploy
SEODeploy: Flexible and Modular Python Library for Automating SEO Testing in Deployment Pipelines.
Stars: ✭ 41 (-14.58%)
Mutual labels:  deployment
Gh Actions Hugo Deploy Gh Pages
Github Actions : Hugo static site generator
Stars: ✭ 37 (-22.92%)
Mutual labels:  deployment
Exoframe
Exoframe is a self-hosted tool that allows simple one-command deployments using Docker
Stars: ✭ 972 (+1925%)
Mutual labels:  deployment
Sentry
Kubernetes Object Validating Admission Controller
Stars: ✭ 40 (-16.67%)
Mutual labels:  deployment
Adhokku
A toy PaaS
Stars: ✭ 32 (-33.33%)
Mutual labels:  deployment
Cusca
A ghost theme
Stars: ✭ 42 (-12.5%)
Mutual labels:  publishing
Texture
A visual editor for research.
Stars: ✭ 958 (+1895.83%)
Mutual labels:  publishing
Alignmentduration
Lyrics-to-audio-alignement system. Based on Machine Learning Algorithms: Hidden Markov Models with Viterbi forced alignment. The alignment is explicitly aware of durations of musical notes. The phonetic model are classified with MLP Deep Neural Network.
Stars: ✭ 36 (-25%)
Mutual labels:  synchronization
Publ Cg
EPUB 3 Community Group Repository
Stars: ✭ 40 (-16.67%)
Mutual labels:  publishing

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/[email protected]
  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/[email protected]
      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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].