github.com/hashicorp/packer@v1.14.3/.github/workflows/backport.yml (about)

     1  ---
     2  name: Backport Assistant Runner
     3  
     4  on:
     5    pull_request_target:
     6      types:
     7        - closed
     8        - labeled
     9  
    10  permissions:
    11    contents: read
    12  
    13  jobs:
    14    backport:
    15      permissions:
    16        contents: none
    17      if: github.event.pull_request.merged
    18      runs-on: ubuntu-latest
    19      container: hashicorpdev/backport-assistant:v0.5.8
    20      steps:
    21        - name: Backport changes to stable-website
    22          run: |
    23            backport-assistant backport -automerge
    24          env:
    25            BACKPORT_LABEL_REGEXP: "backport/(?P<target>website)"
    26            BACKPORT_TARGET_TEMPLATE: "stable-{{.target}}"
    27            GITHUB_TOKEN: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
    28        - name: Backport changes to latest release branch
    29          run: |
    30            resp=$(curl -f -s "https://api.github.com/repos/$GITHUB_REPOSITORY/labels?per_page=100")
    31            ret="$?"
    32            if [[ "$ret" -ne 0 ]]; then
    33                echo "The GitHub API returned $ret"
    34                exit $ret
    35            fi
    36            # get the latest backport label excluding any website labels, ex: `backport/0.3.x` and not `backport/website`
    37            latest_backport_label=$(echo "$resp" | jq -r '.[] | select(.name | (startswith("backport/") and (contains("website") | not))) | .name' | sort -rV | head -n1)
    38            echo "Latest backport label: $latest_backport_label"
    39            # set BACKPORT_TARGET_TEMPLATE for backport-assistant
    40            # trims backport/ from the beginning with parameter substitution
    41            export BACKPORT_TARGET_TEMPLATE="release/${latest_backport_label#backport/}"
    42            backport-assistant backport -automerge
    43          env:
    44            BACKPORT_LABEL_REGEXP: "backport/(?P<target>website)"
    45            GITHUB_TOKEN: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
    46        - name: Backport changes to targeted release branch
    47          run: |
    48            backport-assistant backport -automerge
    49          env:
    50            BACKPORT_LABEL_REGEXP: "backport/(?P<target>\\d+\\.\\d+\\.\\w+)"
    51            BACKPORT_TARGET_TEMPLATE: "release/{{.target}}"
    52            GITHUB_TOKEN: ${{ secrets.ELEVATED_GITHUB_TOKEN }}