47 lines
1.6 KiB
YAML
47 lines
1.6 KiB
YAML
---
|
|
name: Backport Assistant Runner For Docs (OSS only)
|
|
|
|
on:
|
|
pull_request_target:
|
|
types:
|
|
- closed
|
|
- labeled
|
|
|
|
jobs:
|
|
backport-for-docs:
|
|
if: github.event.pull_request.merged
|
|
runs-on: ubuntu-latest
|
|
container: hashicorpdev/backport-assistant:0.2.3
|
|
steps:
|
|
- name: Backport changes to stable-website
|
|
run: |
|
|
backport-assistant backport -automerge -merge-method=squash
|
|
env:
|
|
BACKPORT_LABEL_REGEXP: "backport/(?P<target>website)"
|
|
BACKPORT_TARGET_TEMPLATE: "stable-{{.target}}"
|
|
GITHUB_TOKEN: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
|
- name: Backport changes labeled website to latest release branch
|
|
if: always()
|
|
run: |
|
|
resp=$(curl -f -s "https://api.github.com/repos/$GITHUB_REPOSITORY/releases?per_page=100")
|
|
ret="$?"
|
|
if [[ "$ret" -ne 0 ]]; then
|
|
echo "The GitHub API returned $ret"
|
|
exit $ret
|
|
fi
|
|
|
|
# find the latest non-rc release
|
|
latest_version=$(echo "$resp" | tr '\r\n' ' ' | jq -r '.[] | select(.name|test("^v\\d+\\.\\d+\\.\\d+$")) | .name' | sort -rV | head -n1)
|
|
echo "Latest non-rc version: $latest_version"
|
|
|
|
# strip leading "v" &
|
|
target="${latest_version#v}"
|
|
# replace patch version with "x"
|
|
target="${target%.*}.x"
|
|
|
|
export BACKPORT_TARGET_TEMPLATE="release/$target"
|
|
backport-assistant backport
|
|
env:
|
|
BACKPORT_LABEL_REGEXP: "backport/(?P<target>website)"
|
|
GITHUB_TOKEN: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|