Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
git-commit

GitHub Action

Update files on GitHub

v1.4.0

Update files on GitHub

git-commit

Update files on GitHub

Update (i.e. commit and push) files on GitHub

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Update files on GitHub

uses: test-room-7/[email protected]

Learn more about this action in test-room-7/action-update-file

Choose a version

action-update-file Version Lint status

Update (i.e. commit and push) files on GitHub.

Usage

The action requires GitHub token for authentication; no username or e-mail are required.

Basic usage

Here is an example of a workflow using action-update-file:

workflow.yml (Click to expand)
name: Resources
on: repository_dispatch
jobs:
    resources:
        name: Update resources
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v1
            - uses: actions/setup-node@v1
            - name: Fetch resources
              run: ./scripts/fetch-resources.sh
            - name: Update resources
              uses: test-room-7/action-update-file@v1
              with:
                  file-path: path/to/file
                  commit-msg: Update resources
                  github-token: ${{ secrets.GITHUB_TOKEN }}

Note that this action does not change files. They should be changed with scripts and/or other actions.

Update multiple files

You can also update multiple files:

workflow.yml (Click to expand)
name: Resources
on: repository_dispatch
jobs:
    resources:
        name: Update resources
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v1
            - uses: actions/setup-node@v1
            - name: Fetch resources
              run: ./scripts/fetch-resources.sh
            - name: Update resources
              uses: test-room-7/action-update-file@v1
              with:
                  file-path: |
                      path/to/file1
                      path/to/file2
                      path/to/file3
                  commit-msg: Update resources
                  github-token: ${{ secrets.GITHUB_TOKEN }}

Use glob patterns

The action supports glob patterns as well:

workflow.yml (Click to expand)
name: Resources
on: repository_dispatch
jobs:
    resources:
        name: Update resources
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v1
            - uses: actions/setup-node@v1
            - name: Fetch resources
              run: ./scripts/fetch-resources.sh
            - name: Update resources
              uses: test-room-7/action-update-file@v1
        with:
                  # Include all JS files from the `dist` directory
                  file-path: dist/*.js
                  commit-msg: Update resources
                  github-token: ${{ secrets.GITHUB_TOKEN }}

See the fast-glob documentation for glob syntax.

Inputs

Required inputs

  • commit-msg: a text used as a commit message
  • file-path: a path to file to be updated
  • github-token: GitHub token

Optional inputs

  • branch: branch to push changes (the default branch is used if no branch is specified)
  • allow-removing: allow to remove file if local copy is missing (false by default)

Note that the action will produce an error if a local copy of a given file is missing, and the allow-removing flag is false.

Outputs

  • commit-sha: the hash of the commit created by this action

Development

# Install dependencies
> npm install

# Build the action
> npm run dist

# Lint project files
> npm run lint

Don't push dist files; they're updated automatically by the action itself.

License

Licensed under the MIT License.