Skip to content

Commit

Permalink
Auto set automerge HEAD and BASE
Browse files Browse the repository at this point in the history
Signed-off-by: Peixin Li <[email protected]>
  • Loading branch information
pxLi committed Sep 19, 2024
1 parent 305a65f commit ad964fd
Showing 1 changed file with 39 additions and 7 deletions.
46 changes: 39 additions & 7 deletions .github/workflows/auto-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,57 @@ name: auto-merge HEAD to BASE
on:
pull_request_target:
branches:
- branch-24.08
- branch-*
types: [closed]

env:
HEAD: branch-24.08
BASE: branch-24.10

jobs:
auto-merge:
auto-merge: # TODO: use spark-rapids-common shared action when available
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest

steps:
- name: set HEAD ENV
run: echo "HEAD=${{ github.event.pull_request.base.ref }}" >> $GITHUB_ENV

- name: Generate target branch
run: |
current_branch="${{ env.HEAD }}"
version=${current_branch#branch-}
IFS='.' read -r -a parts <<< "$version"
year=${parts[0]}
month=${parts[1]}
month=$((10#$month + 2))
if [ $month -gt 12 ]; then
month=$((month - 12))
year=$((year + 1))
fi
next_release=$(printf "%02d.%02d" $year $month)
echo "Next release is $next_release"
echo "BASE=branch-$next_release" >> $GITHUB_ENV
- name: Check if target branch exists
run: |
CODE=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: token ${{ secrets.AUTOMERGE_TOKEN }}" \
https://api.github.com/repos/${{ github.repository }}/branches/${{ env.BASE }})
echo "Response code: $CODE..."
if [ $CODE -eq 200 ]; then
echo "branch_exists=true" >> $GITHUB_ENV
else
echo "branch_exists=false" >> $GITHUB_ENV
echo "Failed to find ${{ env.BASE }}. Skip auto-merge..."
fi
- uses: actions/checkout@v4
if: env.branch_exists == 'true'
with:
ref: ${{ env.HEAD }} # force to fetch from latest upstream instead of PR ref
token: ${{ secrets.AUTOMERGE_TOKEN }} # workaround auto-merge token to avoid GITHUB_TOKEN insufficient permission

- name: push intermediate branch for auto-merge
if: env.branch_exists == 'true'
run: |
git config user.name "spark-rapids automation"
git config user.email "[email protected] "
Expand All @@ -55,6 +87,7 @@ jobs:
FILE_USE_BASE: thirdparty/cudf thirdparty/cudf-pins

- name: auto-merge job
if: env.branch_exists == 'true'
uses: ./.github/workflows/action-helper
with:
operator: auto-merge
Expand All @@ -64,4 +97,3 @@ jobs:
HEAD: bot-auto-merge-${{ env.HEAD }}
BASE: ${{ env.BASE }}
TOKEN: ${{ secrets.AUTOMERGE_TOKEN }}

0 comments on commit ad964fd

Please sign in to comment.