mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-04 19:32:17 +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
 |