mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 00:12:18 +08:00 
			
		
		
		
	* Rename golangci-lint.yml to golangci-lint.bak * Update e2e-test.yml * Update openimci.yml
		
			
				
	
	
		
			192 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			192 lines
		
	
	
		
			4.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: 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
 | |
| 
 | |
| 
 | |
| #  build-mac:
 | |
| #    name: Execute OpenIM Script On macOS
 | |
| #    runs-on: macos-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'
 | |
| 
 | |
|         
 | |
| #        while ! docker system info > /dev/null 2>&1; do
 | |
| #          echo "Waiting for Docker to start..."
 | |
| #          sleep 10  # Increased delay to ensure Docker starts properly
 | |
| #        done
 | |
| 
 | |
| #    - name: Install Docker
 | |
| #      run: |
 | |
| #        brew install docker
 | |
| #        brew install docker-compose
 | |
| #        sleep 10
 | |
| #        docker-compose up -d
 | |
| #        sleep 30
 | |
| #      timeout-minutes: 20 
 | |
| #        
 | |
| 
 | |
| #    - name: init
 | |
| #      run: sudo bash bootstrap.sh
 | |
| #      timeout-minutes: 20
 | |
| 
 | |
| #    - 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
 | |
| 
 | |
| #  build-windows:
 | |
| #    name: Execute OpenIM Script On Windows
 | |
| #    runs-on: windows-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 Windows
 | |
| #      run: |
 | |
| #        $images = @("zookeeper", "redis", "kafka")
 | |
| #        foreach ($image in $images) {
 | |
| #          $tag = "$image:latest"
 | |
| #          docker pull $tag | Out-Null
 | |
| #          if ($LASTEXITCODE -ne 0) {
 | |
| #            Write-Host "Skipping $image as it is not available for Windows"
 | |
| #          } else {
 | |
| #            Write-Host "Successfully pulled $image"
 | |
| #          }
 | |
| #        }
 | |
| #        docker compose up -d
 | |
| #        Start-Sleep -Seconds 30
 | |
| #      timeout-minutes: 20
 | |
| #      shell: pwsh
 | |
| 
 | |
| #    - name: init
 | |
| #      run: bootstrap.bat
 | |
| #      timeout-minutes: 20
 | |
| 
 | |
| #    - name: Build, Start, Check Services and Print Logs for Linux
 | |
| #      run: |
 | |
| #        mage
 | |
| #        mage start
 | |
| #        mage check        
 | |
| 
 | |
| #    - name: Restart Services and Print Logs
 | |
| #      run: |
 | |
| #        mage stop
 | |
| #        mage start
 | |
| #        mage check
 |