github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/.github/workflows/backport.yaml (about) 1 name: Pull Request backporting 2 3 on: 4 pull_request_target: 5 types: 6 - closed 7 - labeled 8 9 jobs: 10 backport_v1: 11 name: "Backport to v1" 12 # Only react to merged PRs for security reasons. 13 # See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target. 14 if: > 15 github.event.pull_request.merged 16 && ( 17 github.event.action == 'closed' 18 && contains(github.event.pull_request.labels.*.name, 'backport-v1') 19 || ( 20 github.event.action == 'labeled' 21 && contains(github.event.label.name, 'backport-v1') 22 ) 23 ) 24 runs-on: ubuntu-latest 25 steps: 26 - name: Generate a token from the gophercloud-backport-bot github-app 27 id: generate_token 28 uses: getsentry/action-github-app-token@a0061014b82a6a5d6aeeb3b824aced47e3c3a7ef 29 with: 30 app_id: ${{ secrets.BACKPORT_APP_ID }} 31 private_key: ${{ secrets.BACKPORT_APP_PRIVATE_KEY }} 32 33 - name: Backporting 34 if: > 35 contains(github.event.pull_request.labels.*.name, 'semver:patch') 36 || contains(github.event.label.name, 'semver:patch') 37 uses: kiegroup/git-backporting@b9ed3ac959d1479e81bf4f0a5e5f0a72251ce895 38 with: 39 target-branch: v1 40 pull-request: ${{ github.event.pull_request.url }} 41 auth: ${{ steps.generate_token.outputs.token }} 42 no-squash: true 43 strategy-option: find-renames 44 45 - name: Report failure 46 if: failure() 47 run: gh issue comment "$NUMBER" --body "$BODY" 48 env: 49 GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 50 GH_REPO: ${{ github.repository }} 51 NUMBER: ${{ github.event.pull_request.number }} 52 BODY: > 53 Failed to backport PR to `v1` branch. See [logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details. 54 55 - name: Report an error if backport unsupported labels 56 if: > 57 contains(github.event.pull_request.labels.*.name, 'semver:major') 58 || contains(github.event.pull_request.labels.*.name, 'semver:minor') 59 || contains(github.event.pull_request.labels.*.name, 'semver:unknown') 60 || contains(github.event.label.name, 'semver:major') 61 || contains(github.event.label.name, 'semver:minor') 62 || contains(github.event.label.name, 'semver:unknown') 63 run: gh pr comment "$NUMBER" --body "$BODY" 64 env: 65 GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 66 GH_REPO: ${{ github.repository }} 67 NUMBER: ${{ github.event.pull_request.number }} 68 BODY: > 69 Labels `semver-major`, `semver-minor` and `semver-unknown` block backports to the legacy branch `v1`. 70 71 backport_v2: 72 name: "Backport to v2" 73 # Only react to merged PRs for security reasons. 74 # See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target. 75 if: > 76 github.event.pull_request.merged 77 && ( 78 github.event.action == 'closed' 79 && contains(github.event.pull_request.labels.*.name, 'backport-v2') 80 || ( 81 github.event.action == 'labeled' 82 && contains(github.event.label.name, 'backport-v2') 83 ) 84 ) 85 runs-on: ubuntu-latest 86 steps: 87 - name: Generate a token from the gophercloud-backport-bot github-app 88 id: generate_token 89 uses: getsentry/action-github-app-token@a0061014b82a6a5d6aeeb3b824aced47e3c3a7ef 90 with: 91 app_id: ${{ secrets.BACKPORT_APP_ID }} 92 private_key: ${{ secrets.BACKPORT_APP_PRIVATE_KEY }} 93 94 - name: Backporting 95 if: > 96 contains(github.event.pull_request.labels.*.name, 'semver:patch') 97 || contains(github.event.pull_request.labels.*.name, 'semver:minor') 98 || contains(github.event.label.name, 'semver:patch') 99 || contains(github.event.label.name, 'semver:minor') 100 uses: kiegroup/git-backporting@b9ed3ac959d1479e81bf4f0a5e5f0a72251ce895 101 with: 102 target-branch: v2 103 pull-request: ${{ github.event.pull_request.url }} 104 auth: ${{ steps.generate_token.outputs.token }} 105 no-squash: true 106 strategy-option: find-renames 107 108 - name: Report failure 109 if: failure() 110 run: gh issue comment "$NUMBER" --body "$BODY" 111 env: 112 GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 113 GH_REPO: ${{ github.repository }} 114 NUMBER: ${{ github.event.pull_request.number }} 115 BODY: > 116 Failed to backport PR to `v2` branch. See [logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details. 117 118 - name: Report an error if backport unsupported labels 119 if: > 120 contains(github.event.pull_request.labels.*.name, 'semver:major') 121 || contains(github.event.pull_request.labels.*.name, 'semver:unknown') 122 || contains(github.event.label.name, 'semver:major') 123 || contains(github.event.label.name, 'semver:unknown') 124 run: gh pr comment "$NUMBER" --body "$BODY" 125 env: 126 GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 127 GH_REPO: ${{ github.repository }} 128 NUMBER: ${{ github.event.pull_request.number }} 129 BODY: > 130 Labels `semver-major` and `semver-unknown` block backports to the stable branch `v2`.