All Projects → gleich → gh_fsync

gleich / gh_fsync

Licence: MIT license
🔄 GitHub action to sync files across repos in GitHub

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects
Makefile
30231 projects

Projects that are alternatives of or similar to gh fsync

loadkit
Java 资源加载器,充分拓展ClassLoader#getResources(name)的能力,实现递归加载,支持普通风格 / 包名风格 / ANT风格 / 正则风格路径的资源加载同时支持自定义过滤器,通常作为框架的基础类库。
Stars: ✭ 39 (+129.41%)
Mutual labels:  file
100 Days Of Go
100 days of Go learning
Stars: ✭ 24 (+41.18%)
Mutual labels:  github-actions
action-ansible-playbook
⚙️ A GitHub Action for running Ansible playbooks
Stars: ✭ 133 (+682.35%)
Mutual labels:  github-actions
ElegantData
像操作Room一样操作 SharedPreferences 和 File 文件.
Stars: ✭ 18 (+5.88%)
Mutual labels:  file
lumen-file-manager
File manager module for the Lumen PHP framework.
Stars: ✭ 40 (+135.29%)
Mutual labels:  file
gitrivy
GitHub Issue + Trivy Action
Stars: ✭ 46 (+170.59%)
Mutual labels:  github-actions
labeler
GitHub Action to assign labels to PRs based on configurable conditions
Stars: ✭ 47 (+176.47%)
Mutual labels:  github-actions
vidyabhandary
Self updating profile readme for github
Stars: ✭ 36 (+111.76%)
Mutual labels:  github-actions
package-version-check-action
GitHub Actions to check package version before publish
Stars: ✭ 30 (+76.47%)
Mutual labels:  github-actions
translation-action
GitHub action that translates any text to any language supported by chosen provider.
Stars: ✭ 25 (+47.06%)
Mutual labels:  github-actions
releasezri
Meaningful and minimalist release notes for developers
Stars: ✭ 25 (+47.06%)
Mutual labels:  github-actions
actions
GitHub Actions for R-hub
Stars: ✭ 18 (+5.88%)
Mutual labels:  github-actions
actions
🧰 Collection of github actions for automation
Stars: ✭ 28 (+64.71%)
Mutual labels:  github-actions
mat-file-upload
A simple & configurable Angular Material file upload component.
Stars: ✭ 14 (-17.65%)
Mutual labels:  file
github-actions-all-in-one-project
Automatically add an issue or pull request to specific GitHub Project when you create them.
Stars: ✭ 27 (+58.82%)
Mutual labels:  github-actions
github-stats-box
📌 Update a gist to contain your GitHub stats
Stars: ✭ 72 (+323.53%)
Mutual labels:  github-actions
deploy-firebase
A GitHub Action to deploy to Firebase Hosting
Stars: ✭ 63 (+270.59%)
Mutual labels:  github-actions
rspec-github
Formatter for RSpec to show errors in GitHub action annotations
Stars: ✭ 33 (+94.12%)
Mutual labels:  github-actions
django-github-digitalocean
Continuously Deploying Django to DigitalOcean with Docker and GitHub Actions
Stars: ✭ 45 (+164.71%)
Mutual labels:  github-actions
MagicaVoxel File Writer
MagicaVoxel File Writer dependency free cpp class
Stars: ✭ 26 (+52.94%)
Mutual labels:  file

gh_fsync Docker Pulls

🔄 GitHub action to sync files across repos in GitHub

build test lint release

What is gh_fsync

gh_fsync is a simple, configurable, and blazing fast way to sync files in your repository with files from another repository.

⚙️ Configuration

First create a file in one of the following locations inside of your repository:

  • /fsync.yml
  • /fsync.yaml
  • /.fsync.yml
  • /.fsync.yaml
  • /.github/fsync.yml
  • /.github/fsync.yml

Now that you have your file lets go over the syntax.

🌍 Global replace

Replace certain text for all source files listed under the files section. Below is an example:

replace:
  - before: project_name
    after: gh_fsync

📁 Files

List all of the files you want to sync. path: is the file path in your repo and source: is the URL on GitHub for the file. Below is an example:

files:
  - path: CONTRIBUTING.md
    source: https://github.com/gleich/go_template/blob/master/CONTRIBUTING.md

You can even replace values specific to a file. Below is an example:

files:
  - path: CONTRIBUTING.md
    source: https://github.com/gleich/go_template/blob/master/CONTRIBUTING.md
    replace:
      - before: project_name
        after: gh_fsync2

A file specific replace will override any global replace with the same before. So in the case shown below the replace of project_name for the CONTRIBUTING.md file will override the global replace defined before. If you would like to completely ignore the global replace for that file add ignore_global_replace: true to the file. This is optional and an example is shown down in the examples section.

replace:
  - before: project_name
    after: gh_fsync
files:
  - path: CONTRIBUTING.md
    source: https://github.com/gleich/go_template/blob/master/CONTRIBUTING.md
    replace:
      - before: project_name
        after: gh_fsync2

💬 Commit message

Define the commit message to use when updating the files. The default commit message is Update via sync. Below is an example

commit_message: 🔄 Update file via sync

Example

commit_message: 🔄 Update file via sync
replace:
  - before: project_name
    after: gh_fsync
files:
  - path: CONTRIBUTING.md
    source: https://github.com/gleich/go_template/blob/master/CONTRIBUTING.md
    replace:
      - before: project_name
        after: gh_fsync2
  - path: LICENSE.md
    source: https://github.com/gleich/go_template/blob/master/LICENSE.md
    ignore_global_replace: true
    replace:
      - before: author_name
        after: Matthew Gleich

🤖 GitHub action

Use the following for the GitHub action.

name: gh_fsync

on:
  push:
    branches:
      - master
  schedule:
    - cron: '*/30 * * * *' # Runs every 30 minutes

jobs:
  file_sync:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2
      - name: gh_fsync
        uses: gleich/gh_fsync@master

If you want to sync files from the .github folder you need to to create a personal access token with the read and workflows permissions. Then set a secret for the repo with the value being the personal access token and the name being PERSONAL_ACCESS_TOKEN. Finally change your action file to the following:

name: fsync

on:
  push:
    branches:
      - master
  schedule:
    - cron: '*/30 * * * *' # Runs every 30 minutes

jobs:
  file_sync:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2
        with:
          token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
      - name: gh_fsync
        uses: gleich/gh_fsync@master

🙌 Contributing

Before contributing please read the CONTRIBUTING.md file

👥 Contributors

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].