• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: Revert merged PR
2
3on:
4  repository_dispatch:
5    types: [try-revert]
6
7jobs:
8  do_revert:
9    name: try_revert_pr_${{ github.event.client_payload.pr_num }}
10    runs-on: linux.20_04.4x
11    environment: mergebot
12    env:
13        GH_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
14    steps:
15      - name: Checkout repo
16        uses: actions/checkout@v2
17        id: checkout
18        with:
19          fetch-depth: 0
20          token: ${{ secrets.MERGEBOT_TOKEN }}
21
22      - name: Setup Python
23        uses: actions/setup-python@v4
24        with:
25          python-version: '3.8'
26          architecture: x64
27          check-latest: false
28          cache: pip
29      - run: pip install pyyaml==6.0
30
31      - name: Setup committer id
32        run: |
33          git config --global user.email "pytorchmergebot@users.noreply.github.com"
34          git config --global user.name "PyTorch MergeBot"
35      - name: Revert PR
36        env:
37          GITHUB_TOKEN: ${{ secrets.MERGEBOT_TOKEN }}
38          PR_NUM: ${{ github.event.client_payload.pr_num }}
39          COMMENT_ID: ${{ github.event.client_payload.comment_id }}
40          REASON: ${{ github.event.client_payload.reason }}
41        run: |
42          set -ex
43          if [ -n "${COMMENT_ID}" ]; then
44            if [ -n "${REASON}" ]; then
45              python3 .github/scripts/trymerge.py --revert --comment-id "${COMMENT_ID}" --reason "${REASON}" "${PR_NUM}"
46            else
47              python3 .github/scripts/trymerge.py --revert --comment-id "${COMMENT_ID}" "${PR_NUM}"
48            fi
49          else
50            if [ -n "${REASON}" ]; then
51              python3 .github/scripts/trymerge.py --revert --reason "${REASON}" "${PR_NUM}"
52            else
53              python3 .github/scripts/trymerge.py --revert "${PR_NUM}"
54            fi
55          fi
56      - name: Comment on Canceled
57        if: ${{ cancelled() && steps.checkout.outcome == 'success' }}
58        continue-on-error: true
59        env:
60          GITHUB_TOKEN: ${{ secrets.MERGEBOT_TOKEN }}
61          PR_NUM: ${{ github.event.client_payload.pr_num }}
62        run: |
63          set -ex
64          python3 .github/scripts/comment_on_pr.py "${PR_NUM}" "revert"
65
66concurrency: try-revert
67