name: OpenIM API TEST 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: 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, Check Services and Print Logs run: | sudo ./scripts/install/install.sh -i && \ sudo ./scripts/install/install.sh -s && \ (echo "An error occurred, printing logs:" && sudo cat ./_output/logs/* 2>/dev/null) - name: Run Test run: | sudo make test-api && \ (echo "An error occurred, printing logs:" && sudo cat ./_output/logs/* 2>/dev/null) - name: Stop Services run: | sudo ./scripts/install/install.sh -u && \ (echo "An error occurred, printing logs:" && sudo cat ./_output/logs/* 2>/dev/null)