mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-01 00:42:13 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # Copyright © 2023 OpenIM. 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 Linux System E2E Test
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|   pull_request:
 | |
|   push:
 | |
|   schedule:
 | |
|     # run e2e test every 4 hours
 | |
|     - cron: 0 */4 * * *
 | |
| 
 | |
| jobs:
 | |
|   build:
 | |
|     name: Test
 | |
|     runs-on: ubuntu-latest
 | |
|     env:
 | |
|       GO111MODULE: on
 | |
|     steps:
 | |
| 
 | |
|       - name: Set up Go 1.21
 | |
|         uses: actions/setup-go@v4
 | |
|         with:
 | |
|           go-version: 1.21
 | |
|         id: go
 | |
| 
 | |
|       - name: Check out code into the Go module directory
 | |
|         uses: actions/checkout@v4
 | |
| 
 | |
|       - name: Create e2e test
 | |
|         run: |
 | |
|           echo "...test e2e"
 | |
| 
 | |
|   execute-linux-systemd-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: '3.x' # If available, use the latest major version that's compatible
 | |
|         repo-token: ${{ secrets.GITHUB_TOKEN }}
 | |
| 
 | |
|     - 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, Test, Check Services and Print Logs
 | |
|       run: |
 | |
|         sudo ./scripts/install/install.sh -i && \
 | |
|         sudo make test-api && \
 | |
|         sudo ./scripts/install/install.sh -s && \
 | |
|         sudo ./scripts/install/install.sh -u || \
 | |
|         (echo "An error occurred, printing logs:" && sudo cat ./_output/logs/* 2>/dev/null)
 |