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`.