From 2d3043f9580486fbcc6153bc66bf7088e0bc1ee9 Mon Sep 17 00:00:00 2001 From: Nicolas Sarlin Date: Tue, 23 Jul 2024 11:40:57 +0200 Subject: [PATCH] chore(ci): send slack notif on merge/close failure --- .github/workflows/data_pr_close.yml | 134 ++++++++++++++++++++-------- 1 file changed, 96 insertions(+), 38 deletions(-) diff --git a/.github/workflows/data_pr_close.yml b/.github/workflows/data_pr_close.yml index a672a3a335..8ba0a0f22a 100644 --- a/.github/workflows/data_pr_close.yml +++ b/.github/workflows/data_pr_close.yml @@ -4,6 +4,10 @@ name: Close or Merge corresponding PR on the data repo env: TARGET_REPO_API_URL: ${{ github.api_url }}/repos/zama-ai/tfhe-backward-compat-data + SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }} + SLACK_ICON: https://pbs.twimg.com/profile_images/1274014582265298945/OjBKP9kn_400x400.png + SLACK_USERNAME: ${{ secrets.BOT_USERNAME }} + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} # only trigger on pull request closed events on: @@ -22,7 +26,7 @@ jobs: run: | { echo 'TARGET_REPO_PR<> "${GITHUB_ENV}" + exit $RES - name: Merge the Pull Request in the data repo run: | - curl -f --no-progress-meter -L -X PUT \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ secrets.FHE_ACTIONS_TOKEN }}" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - ${{ fromJson(env.TARGET_REPO_PR).url }}/merge \ - -d '{ "merge_method": "rebase" }' - + { + set +e + echo 'GH_API_RES<> "${GITHUB_ENV}" + exit $RES - name: Delete the associated branch in the data repo env: PR_BRANCH: ${{ github.head_ref || github.ref_name }} run: | - curl -f --no-progress-meter -L -X DELETE \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ secrets.FHE_ACTIONS_TOKEN }}" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - ${{ env.TARGET_REPO_API_URL }}/git/refs/heads/${{ env.PR_BRANCH }} + { + set +e + echo 'GH_API_RES<> "${GITHUB_ENV}" + exit $RES + - name: Slack Notification + if: ${{ always() && job.status == 'failure' }} + continue-on-error: true + uses: rtCamp/action-slack-notify@4e5fb42d249be6a45a298f3c9543b111b02f7907 + env: + SLACK_COLOR: ${{ job.status }} + SLACK_MESSAGE: "Failed to auto-merge PR on data repo: ${{ fromJson(env.GH_API_RES).message }}" close_job: # this job will only run if the PR has been closed without being merged @@ -71,7 +102,7 @@ jobs: run: | { echo 'TARGET_REPO_PR<> "${GITHUB_ENV}" + exit $RES - name: Close the Pull Request in the data repo run: | - curl -f --no-progress-meter -L -X PATCH \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ secrets.FHE_ACTIONS_TOKEN }}" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - ${{ fromJson(env.TARGET_REPO_PR).url }} \ - -d '{ "state": "closed" }' - + { + set +e + echo 'GH_API_RES<> "${GITHUB_ENV}" + exit $RES - name: Delete the associated branch in the data repo env: PR_BRANCH: ${{ github.head_ref || github.ref_name }} run: | - curl -f --no-progress-meter -L -X DELETE \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ secrets.FHE_ACTIONS_TOKEN }}" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - ${{ env.TARGET_REPO_API_URL }}/git/refs/heads/${{ env.PR_BRANCH }} + { + set +e + echo 'GH_API_RES<> "${GITHUB_ENV}" + exit $RES + - name: Slack Notification + if: ${{ always() && job.status == 'failure' }} + continue-on-error: true + uses: rtCamp/action-slack-notify@4e5fb42d249be6a45a298f3c9543b111b02f7907 + env: + SLACK_COLOR: ${{ job.status }} + SLACK_MESSAGE: "Failed to auto-close PR on data repo: ${{ fromJson(env.GH_API_RES).message }}"