mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-01 00:42:13 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			135 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			3.4 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: OpenIM CI Auto Build
 | |
| 
 | |
| on: 
 | |
|   push:
 | |
|     branches:
 | |
|         - main
 | |
|         - release-*
 | |
|     paths-ignore:
 | |
|         - "docs/**"
 | |
|         - "README.md"
 | |
|         - "README_zh-CN.md"
 | |
|         - "**.md"
 | |
|         - "docs/**"
 | |
|         - "CONTRIBUTING.md"
 | |
|   pull_request:
 | |
|     branches:
 | |
|         - main
 | |
|         - release-*
 | |
|     paths-ignore:
 | |
|         - "README.md"
 | |
|         - "README_zh-CN.md"
 | |
|         - "CONTRIBUTING/**"
 | |
|         - "**.md"
 | |
|         - "docs/**"
 | |
|   workflow_dispatch:
 | |
| 
 | |
| jobs:
 | |
| 
 | |
|   build-linux:
 | |
|     name: Execute OpenIM Script On Linux
 | |
|     runs-on: ubuntu-latest
 | |
|     permissions:
 | |
|       contents: write
 | |
|       pull-requests: write
 | |
|     environment:
 | |
|       name: openim
 | |
|     strategy:
 | |
|       matrix:
 | |
|         arch: [arm64, armv7, amd64]
 | |
|     
 | |
|     steps:
 | |
|     - uses: actions/checkout@v3
 | |
| 
 | |
|     - name: Set up Go
 | |
|       uses: actions/setup-go@v4
 | |
|       with:
 | |
|         go-version: '1.21'
 | |
| 
 | |
|     - name: Set up Docker for Linux
 | |
|       run: |
 | |
|         sudo docker compose up -d
 | |
|         sudo sleep 30  # Increased sleep time for better stability
 | |
|       timeout-minutes: 20  # Increased timeout for Docker setup
 | |
| 
 | |
| 
 | |
|     - name: init
 | |
|       run: sudo bash bootstrap.sh
 | |
|       timeout-minutes: 20
 | |
| 
 | |
|     # - name: Get Internal IP Address
 | |
|     #   id: get-ip
 | |
|     #   run: |
 | |
|     #     IP=$(hostname -I | awk '{print $1}')
 | |
|     #     echo "The IP Address is: $IP"
 | |
|     #     echo "::set-output name=ip::$IP"
 | |
|       
 | |
|     # - name: Update .env
 | |
|     #   run: |
 | |
|     #     sed -i 's|externalAddress:.*|externalAddress: "http://${{ steps.get-ip.outputs.ip }}:10005"|' config/minio.yml
 | |
|     #     cat config/minio.yml
 | |
| 
 | |
|     - name: Build, Start, Check Services and Print Logs for Linux
 | |
|       run: |
 | |
|         sudo mage
 | |
|         sudo mage start
 | |
|         sudo mage check
 | |
|         
 | |
| 
 | |
|     - name: Restart Services and Print Logs
 | |
|       run: |
 | |
|         sudo mage stop
 | |
|         sudo mage start
 | |
|         sudo mage check
 | |
| 
 | |
|     - name: Checkout chat repository
 | |
|       uses: actions/checkout@v4
 | |
|       with:
 | |
|         repository: 'openimsdk/chat'
 | |
|         path: 'chat-repo'
 | |
| 
 | |
|     - name: Build and Start Chat Services
 | |
|       run: |
 | |
|         cd ${{ github.workspace }}/chat-repo
 | |
|         sudo mage
 | |
|         sudo mage start
 | |
|         sudo mage check
 | |
|     
 | |
|     # - name: Checkout e2e repository
 | |
|     #   uses: actions/checkout@v4
 | |
|     #   with:
 | |
|     #       repository: "openimsdk/test-e2e"
 | |
|     #       path: e2e-repo
 | |
| 
 | |
|     # - name: Set up Python 3.9
 | |
|     #   uses: actions/setup-python@v4
 | |
|     #   with:
 | |
|     #     python-version: '3.9'
 | |
|     
 | |
|     # - name: Install dependencies
 | |
|     #   run: |
 | |
|     #     sudo apt-get update
 | |
|     #     sudo apt-get install -y xvfb libxi6 libgconf-2-4
 | |
|     #     cd ${{ github.workspace }}/e2e-repo
 | |
|     #     pip install -r requirements.txt
 | |
|     
 | |
|     # - name: Run tests
 | |
|     #   run: |
 | |
|     #     cd ${{ github.workspace }}/e2e-repo
 | |
|     #     xvfb-run --auto-servernum --server-args='-screen 0 1920x1080x24' pytest -v -s ./script
 | |
|     
 | |
|      |