You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
3.1 KiB
70 lines
3.1 KiB
# Copyright © 2023 OpenIM open source community. All rights reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
name: Auto PR to release
|
|
|
|
on:
|
|
pull_request:
|
|
# types:
|
|
# - closed
|
|
|
|
jobs:
|
|
create-pr:
|
|
runs-on: ubuntu-latest
|
|
if: github.event.pull_request.base.ref == 'main'
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup GitHub CLI
|
|
run: |
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0
|
|
sudo apt-add-repository https://cli.github.com/packages
|
|
sudo apt-get update
|
|
sudo apt-get install gh
|
|
continue-on-error: true
|
|
|
|
# - name: Configure GitHub CLI
|
|
# run: |
|
|
# git config --global user.email "3293172751ysy@gmail.com"
|
|
# git config --global user.name "kubbot"
|
|
# echo "${{ secrets.BOT_GITHUB_TOKEN }}" | gh auth login --with-token
|
|
- name: Create PR to release branch
|
|
run: |
|
|
ISSUEID=$(gh pr view ${{ github.event.pull_request.number }} --repo $OWNER/$REPO | grep -oP 'Fixes #\K\d+')
|
|
echo "===========> $ISSUEID"
|
|
ISSUE=$(gh issue view $ISSUEID --repo $OWNER/$REPO --json labels,assignees,milestone,title)
|
|
echo "===========> $ISSUE"
|
|
|
|
LABELS=$(echo $ISSUE | jq -r '.labels[] | select(.name) | .name' | jq -R -r -s -c 'split("\n")[:-1] | join(",")')
|
|
ASSIGNEES=$(echo $ISSUE | jq -r '.assignees[] | select(.login) | .login' | jq -R -s -c 'split("\n")[:-1] | join(",")')
|
|
MILESTONE=$(echo $ISSUE | jq -r '.milestone | select(.title) | .title')
|
|
TITLE=$(echo $ISSUE | jq -r '.title')
|
|
|
|
gh pr edit ${{ github.event.pull_request.number }} --repo $OWNER/$REPO --add-label "$LABELS" --add-assignee "$ASSIGNEES" --milestone "$MILESTONE"
|
|
|
|
git checkout -b bot/merge-to-release-$ISSUEID
|
|
git push origin bot/merge-to-release-$ISSUEID
|
|
gh pr create --base release --head bot/merge-to-release-$ISSUEID --title "Merge main to release" --body ""
|
|
|
|
# gh pr create --base main --head feat/auto-release-pr-624 --title "The bug is fixed" --body "$x" --repo OpenIMSDK/Open-IM-Server --reviewer "cubxxw"
|
|
continue-on-error: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
|
GH_TOKEN: ${{ github.token }}
|
|
ISSUE: ${{ github.event.issue.html_url }}
|
|
OWNER: ${{ github.repository_owner }}
|
|
REPO: ${{ github.event.repository.name }} |