diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 000000000..cb5c39fc9 --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,115 @@ +name: Github Pull Request +on: + workflow_dispatch: + schedule: + - cron: '0 2 * * *' + +permissions: + contents: write + pull-requests: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: actions/setup-node@v4 + - name: Setup Go + uses: actions/setup-go@v5 + - name: Run go modules tidy + run: | + sudo apt-get install jq + sudo make tidy + sudo make tools.verify.go-gitlint + echo "Run go modules tidy successfully" + continue-on-error: true + + - name: Run go format and lint + run: | + sudo make format + echo "Run go format successfully" + continue-on-error: true + + - name: Run go lint + run: | + sudo make lint + echo "Run go lint successfully" + continue-on-error: true + + - name: Generate all necessary files, such as error code files + run: | + make generate + echo "Generate all necessary files successfully" + continue-on-error: true + + - name: make init + run: | + export OPENIM_IP=127.0.0.1 + export LOG_STORAGE_LOCATION="../logs/" + ./scripts/init-config.sh --examples --force + echo "Generate all necessary files successfully" + continue-on-error: true + + - name: Generate Vertions + run: | + latest_tag=$(git describe --tags `git rev-list --tags --max-count=1` | grep -oE '[0-9]+\.[0-9]+\.[0-9]+') + echo $latest_tag > pkg/common/config/version + continue-on-error: true + + - name: Gen CHANGELOG file + run: | + current_tag=$(git describe --tags --abbrev=0) + version=$(echo "$current_tag" | sed -E 's/^v?([0-9]+)\.([0-9]+)\..*$/\1.\2/') + echo "OpenIM Version: $version" + make tools.install.git-chglog + cd CHANGELOG + git-chglog --tag-filter-pattern "v${version}.*" -o CHANGELOG-${version}.md + cd .. + continue-on-error: true + + - name: Run unit test and get test coverage + run: | + make cover + echo "Run unit test and get test coverage successfully" + continue-on-error: true + + - name: OpenIM verify copyright + run: | + sudo make add-copyright + echo "OpenIM verify successfully" + continue-on-error: true + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ secrets.BOT_GITHUB_TOKEN }} + commit-message: "cicd: bump League Patch" + author: kubbot <3293172751ysy@gmail.com> + committer: kubbot <3293172751ysy@gmail.com> + # signoff: false + # draft: false + branch: "asf-auto-updates" + assignees: cubxxw + reviewers: cubxxw + title: "[Auto PR 🤖] Bump League Patch auto PR" + body: | + I am a PR generated by robot automation. + + Review criteria: + + - [ ] Disenchanter can connect and issue actions + + Github Actions Status: + + [![Github Pull Request](https://github.com/openimsdk/chat/actions/workflows/pull-request.yml/badge.svg)](https://github.com/openimsdk/open-im-server/actions/workflows/pull-request.yml) + + This is an automated PR. + [workflow](https://github.com/openimsdk/chat/blob/main/.github/workflows/pull-request.yml). + labels: | + kind/documentation + enhancement + report