Code Monkey home page Code Monkey logo

gha-cherry-pick's Introduction

GitHub action to automatically cherry-pick PRs

This project was inspired by cirrus-actions/rebase and started as a fork of rebase project.

CleanShot 2022-04-26 at 19 12 22@2x

Installation

To configure the action simply add the following lines to your .github/workflows/comment-cherry-pick.yml workflow file:

name: Cherry Pick On Comment
on:
  issue_comment:
    types: [created]
jobs:
  cherry-pick:
    name: Cherry Pick
    if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/cherry-pick')
    runs-on: ubuntu-latest
    steps:
      - name: Checkout the latest code
        uses: actions/checkout@v2
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
      - name: Automatic Cherry Pick
        uses: vendoo/gha-cherry-pick@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

After installation simply comment /cherry-pick <target_branch> to trigger the action:

NOTE: To ensure GitHub Actions is automatically re-run after a successful cherry-pick action use a Personal Access Token for actions/checkout@v2 and vendoo/cherry-pick@v1. See the following discussion for more details.

Example

...
    - name: Checkout the latest code
      uses: actions/checkout@v2
      with:
        token: ${{ secrets.PAT_TOKEN }}
        fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
    - name: Automatic Cherry Pick
      uses: vendoo/gha-cherry-pick@v1
      env:
        GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}

You can also optionally specify the PR number of the branch to cherry-pick, if the action you're running doesn't directly refer to a specific pull request:

    - name: Automatic Cherry Pick
      uses: vendoo/gha-cherry-pick@v1
      env:
        GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
        PR_NUMBER: 1245

Restricting who can call the action

It's possible to use author_association field of a comment to restrict who can call the action and skip the cherry-pick for others. Simply add the following expression to the if statement in your workflow file: github.event.comment.author_association == 'MEMBER'. See documentation for a list of all available values of author_association.

gha-cherry-pick's People

Contributors

anishkny avatar cranberryofdoom avatar ddzero2c avatar didrocks avatar drdanz avatar fischman-bcny avatar fkorotkov avatar giorio94 avatar jackton1 avatar lukebjerring avatar maks3w avatar mscoutermarsh avatar mtxr avatar paulomart avatar per1234 avatar pezholio avatar sijiadavis avatar spaze avatar sschuberth avatar staabm avatar vbuberen avatar vorburger avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.