open-vault/.github/workflows/backport-docs.yml

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 }}