Skip to content

Update Skia from Chromium 80.0.3987.162 #2630

Update Skia from Chromium 80.0.3987.162

Update Skia from Chromium 80.0.3987.162 #2630

name: Label Cherry Pick
on:
pull_request_target:
types:
- labeled
- closed
jobs:
prepare_branch_list:
runs-on: ubuntu-latest
outputs:
target_branch: ${{ steps.set-branches.outputs.target_branch }}
steps:
- name: Set Branches
id: set-branches
env:
PR_LABELS: ${{ toJson(github.event.pull_request.labels) }}
EVENT_ACTION: ${{ github.event.action }}
LABEL_NAME: ${{ github.event.label.name }}
BASE_REF: ${{ github.base_ref }}
run: |
if [[ $EVENT_ACTION == 'closed' ]]; then
labels=$(echo "$PR_LABELS" | jq -r '.[].name')
else
labels=$LABEL_NAME
fi
branches=("24.lts.1+" "23.lts.1+" "22.lts.1+" "21.lts.1+" "20.lts.1+" "19.lts.1+" "rc_11" "COBALT_9")
filtered_branches=()
for branch in "${branches[@]}"; do
if [[ $branch == $BASE_REF ]]; then
continue
fi
for label in $labels; do
if [[ $label == "cp-$branch" ]]; then
filtered_branches+=("$branch")
fi
done
done
echo "target_branch=$(echo -n "$filtered_branches" | jq -cRs 'split("\n")')" >> $GITHUB_OUTPUT
cherry_pick:
runs-on: ubuntu-latest
needs: prepare_branch_list
if: |
needs.prepare_branch_list.outputs.target_branch != '[]' &&
github.event.pull_request.merged == true &&
github.event.pull_request.merge_commit_sha != null
strategy:
matrix:
target_branch: ${{ fromJson(needs.prepare_branch_list.outputs.target_branch) }}
env:
ACCESS_TOKEN: ${{ secrets.CHERRY_PICK_TOKEN }}
REPOSITORY: ${{ github.repository }}
GITHUB_REF: ${{ github.ref }}
MERGE_COMMIT_SHA: ${{ github.event.pull_request.merge_commit_sha }}
steps:
- name: Checkout repository
uses: kaidokert/[email protected]
timeout-minutes: 30
with:
ref: ${{ matrix.target_branch }}
fetch-depth: 0
persist-credentials: false
- name: Setup Git
run: |
git config --global user.name "GitHub Release Automation"
git config --global user.email "[email protected]"
- name: Cherry pick merge commit
id: cherry-pick
continue-on-error: true
run: |
git fetch origin ${{ matrix.target_branch }}
set +e
git cherry-pick -x $MERGE_COMMIT_SHA
RES=$?
set -e
if [ $RES -ne 0 ]; then
git add .
git cherry-pick --continue
fi
exit $RES
- name: Create Pull Request
id: create-pr
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04 # v4.2.3
with:
token: ${{ secrets.CHERRY_PICK_TOKEN }}
draft: ${{ steps.cherry-pick.outcome == 'failure' }}
base: ${{ matrix.target_branch }}
branch: "${{ matrix.target_branch }}-${{ github.event.pull_request.number }}"
committer: GitHub Release Automation <[email protected]>
reviewers: ${{ github.event.pull_request.user.login }}
title: "Cherry pick PR #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}"
body: |
Refer to the original PR: https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }}
${{ github.event.pull_request.body }}
- name: PR Comment
if: ${{ success() && steps.cherry-pick.outcome == 'failure' }}
uses: actions/github-script@v2
with:
github-token: ${{ secrets.CHERRY_PICK_TOKEN }}
script: |
github.issues.createComment({
issue_number: ${{ steps.create-pr.outputs.pull-request-number }},
owner: context.repo.owner,
repo: context.repo.repo,
body: '> [!IMPORTANT]\n> The cherry-pick failed! Check out the PR branch (${{ matrix.target_branch }}-${{ github.event.pull_request.number }}) and fix the conflicts before proceeding.'
})