#!/bin/sh set -ex if ! jq -e '.issue.pull_request' ${GITHUB_EVENT_PATH}; then echo "Not a PR... Exiting." exit 0 fi if [ "$(jq -r '.comment.body' ${GITHUB_EVENT_PATH})" != "/retest" ]; then echo "Nothing to do... Exiting." exit 0 fi PR_URL=$(jq -r '.issue.pull_request.url' ${GITHUB_EVENT_PATH}) curl --request GET \ --url "${PR_URL}" \ --header "authorization: Bearer ${GITHUB_TOKEN}" \ --header "content-type: application/json" > pr.json ACTOR=$(jq -r '.user.login' pr.json) BRANCH=$(jq -r '.head.ref' pr.json) curl --request GET \ --url "https://api.github.com/repos/${GITHUB_REPOSITORY}/actions/runs?event=pull_request&actor=${ACTOR}&branch=${BRANCH}" \ --header "authorization: Bearer ${GITHUB_TOKEN}" \ --header "content-type: application/json" | jq '.workflow_runs | max_by(.run_number)' > run.json RUN_URL=$(jq -r '.rerun_url' run.json) curl --request POST \ --url "${RUN_URL}/rerun-failed-jobs" \ --header "authorization: Bearer ${GITHUB_TOKEN}" \ --header "content-type: application/json" REACTION_URL="$(jq -r '.comment.url' ${GITHUB_EVENT_PATH})/reactions" curl --request POST \ --url "${REACTION_URL}" \ --header "authorization: Bearer ${GITHUB_TOKEN}" \ --header "accept: application/vnd.github.squirrel-girl-preview+json" \ --header "content-type: application/json" \ --data '{ "content" : "rocket" }'