diff --git a/.gitea/workflows/branch-sonarscan-pr-merge.yml b/.gitea/workflows/branch-sonarscan-pr-merge.yml index 715f89f3..b5a25f11 100644 --- a/.gitea/workflows/branch-sonarscan-pr-merge.yml +++ b/.gitea/workflows/branch-sonarscan-pr-merge.yml @@ -129,7 +129,6 @@ jobs: -d "$payload" \ "${RINOA_GITEA_URL}/api/v1/repos/${GITHUB_REPOSITORY}/pulls/${PR_NUMBER}/reviews") - # Job 3: Merge PR if Quality Gate passes dry-run-merge-pr: runs-on: ubuntu-latest needs: sonarqube-analysis @@ -153,19 +152,27 @@ jobs: up: true up-opts: -d --dry-run - # - name: Merge PR in Gitea - # uses: prasiman/gocurl@v1 - # with: - # url: "${{ secrets.GITEA_INSTANCE_URL }}/repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ needs.check-and-create-pr.outputs.pr_index }}" - # method: "POST" - # headers: '{ "Authorization": "token ${{ secrets.GITEA_API_TOKEN }}", "Content-Type": "application/json" }' - # params: >- - # { - # "Do": "merge", - # "delete_branch_after_merge": true, - # "force_merge": true, - # "merge_when_checks_succeed": true - # } + - name: Merge PR + env: + PR_INDEX: ${{ needs.check-and-create-pr.outputs.pr_number }} + run: | + merge_response=$(curl ${{ vars.RINOA_GITEA_URL }}/api/v1/repos/${{ github.repository }}/pulls/${PR_INDEX}/merge -s \ + -X 'POST' \ + -H 'Accept: application/json' \ + -H 'Authorization: token ${{ secrets.BOT_GITEA_TOKEN }}' \ + -H 'Content-Type: application/json' \ + -d '{ + "Do": "merge", + "delete_branch_after_merge": true, + "force_merge": true, + "merge_when_checks_succeed": true + }' -w "{%http_code%}") + if [ "$merge_response" -eq 200 ]; then + echo "PR has been successfully merged into main." + else + echo "Failed to merge PR. Response code: {$merge_response}" + exit 1 + fi - # - name: Confirm Merge - # run: echo "PR has been successfully merged into main." + - name: Confirm Merge + run: echo "PR has been successfully merged into main."