github-action-file-sync
Use Cases
Keep the github metadata in sync with your code! Metadata is now configuration as code, and can be validated with a Pull Request.
Setup
Create a new file called /.github/workflows/repo-sync.yml
that looks like so:
name: Repo Sync
on:
push:
branches:
- master
schedule:
- cron: 0 0 * * *
jobs:
repo_sync:
runs-on: ubuntu-latest
steps:
- name: Fetching Local Repository
uses: actions/checkout@master
- name: Repo Sync
uses: kbrashears5/github-action-repo-sync@v1.0.0
with:
TYPE: npm
PATH: package.json
TOKEN: ${{ secrets.ACTIONS }}
Parameters
Parameter | Required | Description |
---|---|---|
TYPE | true | Type of repo. See below for supported repo types |
PATH | true | Path to the repo type's metadata file |
TOKEN | true | Personal Access Token with Repo scope |
Supported Repo Types
Repo Type | File | Description |
---|---|---|
npm | package.json | package.json for repo |
nuget | ProjectName.csproj | csproj file for project |
Tips
For repo types that aren't listed above (like this one), you can still use this action, just have to get creative.
For example (and I would recommend), you can create a file called metadata.json
, choose the npm type, and make the file look like so:
{
"description": "Repo description",
"homepage": "https://github.com/kbrashears5/github-action-repo-sync",
"keywords": [
"sync",
"repo",
"metadata"
]
}
For example, see .github/workflows/repo-sync.yml
& metadata.json
in this repo