From b4af68bdd48c41bcf75ba433357c9b9b01a0e0c1 Mon Sep 17 00:00:00 2001 From: Miltiadis Alexis <18004241+miltalex@users.noreply.github.com> Date: Thu, 2 May 2024 18:44:25 +0200 Subject: [PATCH] feat(ci): Add retest workflow. Fixes #12864 (#13000) Co-authored-by: Anton Gilgur Signed-off-by: Miltiadis Alexis --- .github/workflows/retest.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/retest.yaml diff --git a/.github/workflows/retest.yaml b/.github/workflows/retest.yaml new file mode 100644 index 000000000000..2353faf4ea50 --- /dev/null +++ b/.github/workflows/retest.yaml @@ -0,0 +1,24 @@ +name: Detect and Trigger Retest +on: + issue_comment: + types: [created, edited] + +permissions: + contents: read + +jobs: + retest: + if: github.event.comment.author_association == 'MEMBER' && github.event.comment.body == '/retest' + permissions: + actions: write # for re-running failed jobs: https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#re-run-a-job-from-a-workflow-run + runs-on: ubuntu-latest + steps: + - name: Re-run failed jobs for this PR + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + PR_NUMBER: ${{ github.event.issue.number }} + run: | + SHA_REF=$(gh api "/repos/$REPO/pulls/$PR_NUMBER/commits" | jq -r '.[].sha' | tail -n 1) + RUN_ID=$(gh api "repos/$REPO/actions/workflows/ci-build.yaml/runs?per_page=1&event=pull_request&head_sha=$SHA_REF" | jq -r '.workflow_runs[] | .id) + gh api --method POST repos/$REPO/actions/runs/$RUN_ID/rerun-failed-jobs