From 6abbcfa5961b0f2620db23d5148c9968fec6d712 Mon Sep 17 00:00:00 2001 From: "tao.yang" Date: Mon, 26 Feb 2024 16:37:18 +0800 Subject: [PATCH] automatically port the label from the initial cherry-picked PR Signed-off-by: tao.yang --- .github/workflows/auto-cherrypick.yaml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-cherrypick.yaml b/.github/workflows/auto-cherrypick.yaml index 7a3a3e1b3c..0839324ead 100644 --- a/.github/workflows/auto-cherrypick.yaml +++ b/.github/workflows/auto-cherrypick.yaml @@ -96,19 +96,25 @@ jobs: # echo "=============================== get dest branch from labels ======== " WANT_MERGE_BRANCH_LIST="" + INITIAL_LABEL="" if ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.destBranch != '' }}; then WANT_MERGE_BRANCH_LIST=${{ github.event.inputs.destBranch }} else for LABEL in ${PR_LABEL} ; do echo "checking label $LABEL " PREFIX="${{ env.PR_LABEL_PREFIX_CHERRYPICK }}" - grep -E "^${PREFIX}" <<< "${LABEL}" &>/dev/null || continue + if ! grep -E "^${PREFIX}" <<< "${LABEL}" &>/dev/null; then + INITIAL_LABEL+="${LABEL}," + continue + fi BRANCH_NAME=` sed 's?'"${PREFIX}"'??' <<< "$LABEL" ` WANT_MERGE_BRANCH_LIST+=" $BRANCH_NAME " done fi [ -z "$WANT_MERGE_BRANCH_LIST" ] && echo "no branch to cherry pick" && exit 0 echo "cherry pick to $WANT_MERGE_BRANCH_LIST " + INITIAL_LABEL="${INITIAL_LABEL%,}" + echo "INITIAL_LABEL: ${INITIAL_LABEL}" # # echo "============ begin to cherry pick ============ " @@ -195,7 +201,7 @@ jobs: git push origin ${PR_BRANCH}:${PR_BRANCH} -f gh pr create --title "${PR_TITLE}" \ --assignee "${PR_AUTHOR},${{ env.DEFAULT_REVIEWER }}" \ - --label ${{ env.CHERRYPICK_LABEL }} \ + --label "${{ env.CHERRYPICK_LABEL }},${INITIAL_LABEL}" \ --body "robot cherry pick PR <${PR_URL}> from ${PR_AUTHOR},to branch ${BRANCH}, action <${ACTION_URL}> , commits $PR_COMMITS " \ --base ${BRANCH} else