Skip to content

build: remove hash prefix to PR_NUMBERS #18

build: remove hash prefix to PR_NUMBERS

build: remove hash prefix to PR_NUMBERS #18

# Create or update merge-to-master pull requests for production releases
# Note that by design, creating or editing a PR will not trigger a downstream `pull_request` event as this could lead to recursion
name: Release
on:
push:
branches:
- develop
- sh51/create-release-pr-action
jobs:
pull_request:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Create or update PR
env:
GH_TOKEN: ${{ github.token }}
run: |
PR_TITLE="[automated] Merge Develop into Master"
PR_NUMBERS=$(gh api repos/:owner/:repo/compare/master...develop --jq '.commits[] | select(.commit.message | startswith("Merge pull request")) | .commit.message | capture("#(?<pr_number>\\d+)") | .pr_number')
STORIES=$(echo $PR_NUMBERS | xargs -d ' ' -I {} gh pr view {} --json body --jq '.body | if . | test("Closes #\\d+") then capture("Closes #(?<issue_number>\\d+)") | "Closes #" + .issue_number + " with #{}" else "PR #{}" end')
PR_BODY="#### Changes proposed in this pull request
$(echo "$STORIES" | sed 's/^/- /')
#### Instructions for Reviewers
&nbsp; &nbsp; \- _Check stories are ready for release_
&nbsp; &nbsp; \- _Check for any database migrations_
&nbsp; &nbsp; \- _Check for debug code_
&nbsp; &nbsp; \- _Check version is appropiate_
This description will be overwritten on the next push
This PR was auto-generated on $(TZ=Europe/London date --iso-8601=seconds)"
# Check if a PR already exists
EXISTING_PR=$(gh pr list --base master --head develop --json number --jq '.[0].number')
if [ -z "$EXISTING_PR" ]; then
gh pr create --base master --head develop --title "$PR_TITLE" --body "$PR_BODY"
else
gh pr edit "$EXISTING_PR" --body "$PR_BODY"
fi