Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 44 additions & 23 deletions .github/workflows/backmerge-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,36 +57,57 @@ jobs:
echo "Merge conflicts detected"
fi

- name: Create Pull Request
- name: Create or update Pull Request
if: steps.check.outputs.changes == 'true' && steps.merge.outputs.merge_success == 'true'
id: create-pr
uses: dotnet/actions-create-pull-request@e8d799aa1f8b17f324f9513832811b0a62f1e0b1
with:
token: ${{ secrets.GITHUB_TOKEN }}
head: backmerge/release-13.2-to-main
base: main
title: "[Automated] Backmerge release/13.2 to main"
labels: area-engineering-systems
body: |
## Automated Backmerge

This PR merges changes from `release/13.2` back into `main`.

**Commits to merge:** ${{ steps.check.outputs.behind_count }}

This PR was created automatically to keep `main` up-to-date with release branch changes.
Once approved, it will auto-merge.
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Check if a PR already exists for this branch
EXISTING_PR=$(gh pr list --head backmerge/release-13.2-to-main --base main --json number --jq '.[0].number // empty')

---
*This PR was generated by the [backmerge-release](${{ github.server_url }}/${{ github.repository }}/actions/workflows/backmerge-release.yml) workflow.*
if [ -n "$EXISTING_PR" ]; then
echo "PR #$EXISTING_PR already exists, updating it"
echo "pull_request_number=$EXISTING_PR" >> $GITHUB_OUTPUT
else
PR_BODY="## Automated Backmerge

This PR merges changes from \`release/13.2\` back into \`main\`.

**Commits to merge:** ${{ steps.check.outputs.behind_count }}

This PR was created automatically to keep \`main\` up-to-date with release branch changes.
Once approved, it will auto-merge.

---
*This PR was generated by the [backmerge-release](${{ github.server_url }}/${{ github.repository }}/actions/workflows/backmerge-release.yml) workflow.*"

# Remove leading whitespace from heredoc-style body
PR_BODY=$(echo "$PR_BODY" | sed 's/^ //')

PR_URL=$(gh pr create \
--head backmerge/release-13.2-to-main \
--base main \
--title "[Automated] Backmerge release/13.2 to main" \
--body "$PR_BODY" \
--assignee joperezr,radical \
--label area-engineering-systems)

PR_NUMBER=$(echo "$PR_URL" | grep -oE '[0-9]+$')
if [ -z "$PR_NUMBER" ]; then
echo "::error::Failed to extract PR number from: $PR_URL"
exit 1
fi
echo "pull_request_number=$PR_NUMBER" >> $GITHUB_OUTPUT
echo "Created PR #$PR_NUMBER"
fi

- name: Add assignees and enable auto-merge
if: steps.create-pr.outputs.pull-request-number
- name: Enable auto-merge
if: steps.create-pr.outputs.pull_request_number
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr edit ${{ steps.create-pr.outputs.pull-request-number }} --add-assignee joperezr,radical
gh pr merge ${{ steps.create-pr.outputs.pull-request-number }} --auto --merge
gh pr merge ${{ steps.create-pr.outputs.pull_request_number }} --auto --merge

- name: Create issue for merge conflicts
if: steps.check.outputs.changes == 'true' && steps.merge.outputs.merge_success == 'false'
Expand Down
Loading