| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| name: Comment Bot |
| |
| on: |
| # TODO(kszucs): support pull_request_review_comment |
| issue_comment: |
| types: |
| - created |
| - edited |
| |
| jobs: |
| crossbow: |
| name: Listen! |
| if: startsWith(github.event.comment.body, '@github-actions crossbow') |
| runs-on: ubuntu-latest |
| steps: |
| - name: Checkout Arrow |
| uses: actions/checkout@v2 |
| with: |
| repository: apache/arrow |
| - name: Set up Python |
| uses: actions/setup-python@v2 |
| with: |
| python-version: 3.8 |
| - name: Install Archery and Crossbow dependencies |
| run: pip install -e dev/archery[bot] |
| - name: Handle Github comment event |
| env: |
| ARROW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN }} |
| run: | |
| archery trigger-bot \ |
| --event-name ${{ github.event_name }} \ |
| --event-payload ${{ github.event_path }} |
| |
| rebase: |
| name: "Rebase" |
| if: startsWith(github.event.comment.body, '@github-actions rebase') |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: r-lib/actions/pr-fetch@master |
| with: |
| repo-token: ${{ secrets.GITHUB_TOKEN }} |
| - name: Rebase on ${{ github.repository }} master |
| run: | |
| set -ex |
| git config user.name "$(git log -1 --pretty=format:%an)" |
| git config user.email "$(git log -1 --pretty=format:%ae)" |
| git remote add upstream https://github.com/${{ github.repository }} |
| git fetch --unshallow upstream master |
| git rebase upstream/master |
| - uses: r-lib/actions/pr-push@master |
| with: |
| repo-token: ${{ secrets.GITHUB_TOKEN }} |
| args: "--force" |