mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-01 00:42:13 +08:00 
			
		
		
		
	Bumps the github-actions group with 1 update: [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action). - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4...v5) --- updated-dependencies: - dependency-name: stefanzweifel/git-auto-commit-action dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
		
			
				
	
	
		
			173 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			173 lines
		
	
	
		
			4.3 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 Aotu Build and Install
 | |
| 
 | |
| on: 
 | |
|   push:
 | |
|     branches:
 | |
|         - main
 | |
|     paths-ignore:
 | |
|         - "docs/**"
 | |
|         - "README.md"
 | |
|         - "README_zh-CN.md"
 | |
|         - "CONTRIBUTING.md"
 | |
|   pull_request:
 | |
|     branches:
 | |
|         - main
 | |
|     paths-ignore:
 | |
|         - "README.md"
 | |
|         - "README_zh-CN.md"
 | |
|         - "CONTRIBUTING.md"
 | |
|         - "docs/**"
 | |
| 
 | |
| env:
 | |
|   GO_VERSION: "1.19"
 | |
|   GOLANGCI_VERSION: "v1.50.1"
 | |
| 
 | |
| 
 | |
| jobs:
 | |
|   openim:
 | |
|     name: Test with go ${{ matrix.go_version }} on ${{ matrix.os }}
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     permissions:
 | |
|         contents: write
 | |
|     environment:
 | |
|       name: openim
 | |
| 
 | |
|     strategy:
 | |
|       matrix:
 | |
|         go_version: ["1.18","1.19","1.20","1.21"]
 | |
|         os: [ubuntu-latest]
 | |
| 
 | |
|     steps:
 | |
|     - name: Setup
 | |
|       uses: actions/checkout@v4
 | |
|       
 | |
|     - name: Set up Go ${{ matrix.go_version }}
 | |
|       uses: actions/setup-go@v4
 | |
|       with:
 | |
|         go-version: ${{ matrix.go_version }}
 | |
|       id: go
 | |
| 
 | |
|     - name: Install Task
 | |
|       uses: arduino/setup-task@v1
 | |
|       with:
 | |
|         version: 2.x
 | |
| 
 | |
|     - name: Module Operations
 | |
|       run: |
 | |
|         sudo make tidy
 | |
|         sudo make tools.verify.go-gitlint
 | |
| 
 | |
|     - name: Format Code
 | |
|       run: sudo make format
 | |
|       continue-on-error: true
 | |
| 
 | |
|     - name: Generate Files
 | |
|       run: make gen
 | |
|       continue-on-error: true
 | |
| 
 | |
|     - name: Build Source
 | |
|       run: sudo make build
 | |
| 
 | |
|     - name: Cleanup Build
 | |
|       run: sudo make clean
 | |
| 
 | |
|     - name: Push Changes to Main
 | |
|       uses: stefanzweifel/git-auto-commit-action@v5
 | |
|       with:
 | |
|         commit_message: "cicd: robot automated Change"
 | |
|         branch: main
 | |
|       continue-on-error: true
 | |
| 
 | |
|     - name: Set Current Directory
 | |
|       id: set_directory
 | |
|       run: echo "::set-output name=directory::$(pwd)"
 | |
|       continue-on-error: true
 | |
| 
 | |
|     - name: Collect and Display Test Coverage
 | |
|       id: collect_coverage
 | |
|       run: |
 | |
|         cd ${{ steps.set_directory.outputs.directory }}
 | |
|         make cover
 | |
|         echo "::set-output name=coverage_file::./_output/tmp/coverage.out"
 | |
|         echo "Test Coverage:"
 | |
|         cat ${{ steps.collect_coverage.outputs.coverage_file }}
 | |
|       continue-on-error: true
 | |
| 
 | |
|   openim-start:
 | |
|     name: Test OpenIM install/start on ${{ matrix.os }}
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     environment:
 | |
|       name: openim
 | |
|     strategy:
 | |
|       matrix:
 | |
|         go_version: ["1.21"]
 | |
|         os: ["ubuntu-latest"]
 | |
|     steps:
 | |
|     - name: Checkout and Install OpenIM
 | |
|       uses: actions/checkout@v4
 | |
|     - name: Install Task
 | |
|       uses: arduino/setup-task@v1
 | |
|       with:
 | |
|         version: 2.x
 | |
|     - name: Run OpenIM make install start
 | |
|       run: |
 | |
|         sudo make install
 | |
| 
 | |
|   execute-scripts:
 | |
|     name: Execute OpenIM script on ${{ matrix.os }}
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     environment:
 | |
|       name: openim
 | |
|     strategy:
 | |
|       matrix:
 | |
|         go_version: ["1.20"]
 | |
|         os: ["ubuntu-latest"]
 | |
|     steps:
 | |
|     - name: Checkout code
 | |
|       uses: actions/checkout@v4
 | |
| 
 | |
|     - name: Set up Go ${{ matrix.go_version }}
 | |
|       uses: actions/setup-go@v4
 | |
|       with:
 | |
|         go-version: ${{ matrix.go_version }}
 | |
|       id: go
 | |
|     - name: Install Task
 | |
|       uses: arduino/setup-task@v1
 | |
|       with:
 | |
|         version: 2.x
 | |
|     - name: Docker Operations
 | |
|       run: |
 | |
|         curl -o docker-compose.yml https://raw.githubusercontent.com/OpenIMSDK/openim-docker/main/example/basic-openim-server-dependency.yml
 | |
|         sudo docker compose up -d
 | |
|         sudo sleep 60
 | |
| 
 | |
|     - name: Module Operations
 | |
|       run: |
 | |
|         sudo make tidy
 | |
|         sudo make tools.verify.go-gitlint
 | |
| 
 | |
|     - name: Build, Start and Check Services
 | |
|       run: |
 | |
|         sudo make init
 | |
|         sudo make build
 | |
|         sudo make start
 | |
|         sudo make check
 | |
| 
 | |
|     - name: Print OpenIM Logs
 | |
|       run: sudo cat ./_output/logs/* 2>/dev/null
 | |
|       continue-on-error: true
 |