Skip to content

Git Commit Push Action

Actions
GitHub Action to commit push changes made in workflows (all os supported)
v1.3
Latest
Star (17)

Git Commit & Push action

Action test on Ubuntu Action test on MacOS Action test on Windows

GitHub Action to commit & push changes made in workflows :octocat:

Screenshot 2021-10-21 at 15 40 50

Note: This action is supported on all runners operating systems (ubuntu, macos, windows)


📚 Usage

Public workflows that use this action.

⚠️ Requirements

  • The actions/checkout is mandatory to use this action, as it will be necessary to access the repository files.

1️⃣ Minimal: Commit and Push with default parameters

    steps:
      - uses: actions/checkout@v4
      # [...] --> steps with actions or commands updating repository files
      - uses: GuillaumeFalourd/git-commit-push@v1.3

2️⃣ Full: Commit and Push with customized parameters

    steps:
      - uses: actions/checkout@v4
      # [...] --> steps with actions or commands updating repository files
      - uses: GuillaumeFalourd/git-commit-push@v1.3
        with:
          email: ${{ github.actor }}@users.noreply.github.com
          name: ${{ github.actor }}
          commit_message: your_message
          target_branch: target_branch_name
          files: file1 file2 directory1 directory2/file3
          remote_repository: https://github.com/owner/another_repository
          access_token: ${{ github.token }}
          force: true
          empty: true
          tags: true

Known Issue

When pushing to the same repository, the workflow may return the following error using the action:

remote: Permission to <owner>/<repository>.git denied to github-actions[bot].
fatal: unable to access 'https://github.com/<owner>/<repository>/': The requested URL returned error: 403

This can be resolved by adding persist-credentials: false and fetch-depth: 0 to the workflow configurations when using the actions/checkout.

     - uses: actions/checkout@v4
       with:
          persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of the personal access token.
          fetch-depth: 0  # otherwise, there would be errors pushing refs to the destination repository.
     - uses: GuillaumeFalourd/git-commit-push@v1.3
       with:
          email: ${{ github.actor }}@users.noreply.github.com
          name: ${{ github.actor }}
          commit_message: your_message
          target_branch: target_branch_name
          files: file1 file2 directory1 directory2/file3
          remote_repository: https://github.com/owner/another_repository
          access_token: ${{ github.token }}
          force: true
          empty: true
          tags: true

▶️ Action Inputs

Field Mandatory Default Value Observation
email NO ${{ github.actor }}@users.noreply.github.com Github user email
e.g: octocat@github.com
name NO ${{ github.actor }} Github username
e.g: octocat
commit_message NO Commit performed using Push and Commit action Commit message
target_branch NO ${{ github.ref }} Branch to push the changes back
files NO . Files to add separated by space
e.g: file1 file2 directory1 directory2/file3
remote_repository NO origin Repository url to push the code
access_token NO ${{ github.token }} Personal Access Token is necessary if push to another repository
force NO 0 Whether to perform force push
empty NO 0 Whether to allow empty commit
tags NO 0 Whether to use --tags

🤝 Contributing

Guidelines

🏅 Licensed

☞ This repository uses the Apache License 2.0

Git Commit Push Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

GitHub Action to commit push changes made in workflows (all os supported)
v1.3
Latest

Git Commit Push Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.