mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-01 00:42:13 +08:00 
			
		
		
		
	* kubernetes for kustomize learning Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> * feat(main): add openim server test cicd * feat(main): add openim scripts token --------- Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
		
			
				
	
	
		
			73 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # 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
 | |
|   issue_comment:
 | |
|     types: [created]
 | |
|   pull_request_review_comment:
 | |
|     types: [created]
 | |
| 
 | |
| jobs:
 | |
|   sync-issue-to-pr:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Checkout code
 | |
|         uses: actions/checkout@v2
 | |
|       
 | |
|       - name: Sync Issue to PR
 | |
|         if: github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'main'
 | |
|         run: |
 | |
|           PR_BODY="${{ github.event.pull_request.body }}"
 | |
| 
 | |
|           ISSUE_NUMBER=$(echo "$PR_BODY" | grep -oP 'Fixes #\K\d+')
 | |
|           if [[ -z "$ISSUE_NUMBER" ]]; then
 | |
|             echo "No Issue number found."
 | |
|             exit 1
 | |
|           fi
 | |
| 
 | |
|           echo "Issue number found: $ISSUE_NUMBER"
 | |
| 
 | |
|           # Using GitHub CLI to get issue details
 | |
|           gh issue view "$ISSUE_NUMBER" --repo "${{ github.repository }}" --json labels,assignees,milestone,title > issue_data.json
 | |
| 
 | |
|           # Check if jq is installed
 | |
|           if ! command -v jq &> /dev/null; then
 | |
|             echo "Installing jq..."
 | |
|             sudo apt-get install -y jq
 | |
|           fi
 | |
| 
 | |
|           # Parse data with jq
 | |
|           LABELS=$(jq -r '.labels | map(.name) | join(",")' issue_data.json)
 | |
|           ASSIGNEES=$(jq -r '.assignees | map(.login) | join(",")' issue_data.json)
 | |
|           MILESTONE=$(jq -r '.milestone.title' issue_data.json)
 | |
| 
 | |
|           # Check if any of the fields are empty and set them to None
 | |
|           LABELS=${LABELS:-None}
 | |
|           ASSIGNEES=${ASSIGNEES:-None}
 | |
|           MILESTONE=${MILESTONE:-None}
 | |
| 
 | |
|           # Edit the PR with issue details, handling empty fields
 | |
|           gh pr edit "${{ github.event.pull_request.number }}" --repo "${{ github.repository }}" \
 | |
|             ${LABELS:+--add-label "$LABELS"} \
 | |
|             ${ASSIGNEES:+--add-assignee "$ASSIGNEES"} \
 | |
|             ${MILESTONE:+--milestone "$MILESTONE"}
 | |
|         continue-on-error: true
 | |
|         env:
 | |
|           GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
 |