From 05b8f6e07b3a54e4e8ea34184be821ae238ef173 Mon Sep 17 00:00:00 2001 From: Corneil du Plessis Date: Wed, 2 Nov 2022 15:25:31 +0200 Subject: [PATCH] [GitHub Actions] Update reruns --- scripts/check-rerun-workflows.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100755 scripts/check-rerun-workflows.sh diff --git a/scripts/check-rerun-workflows.sh b/scripts/check-rerun-workflows.sh new file mode 100755 index 00000000..20690c1d --- /dev/null +++ b/scripts/check-rerun-workflows.sh @@ -0,0 +1,21 @@ +#!/bin/bash +AGE=90 +if [ "$1" != "" ]; then + AGE=$1 +fi +WORKFLOWS=("ci-2021-0-x.yml" "ci-2021-1-x.yml" "ci-main.yml") +CURRENT_SEC=$(date +%s) +for workflow in ${WORKFLOWS[@]}; do + WF_JSON=$(gh run list -w "$workflow" --limit 1 --json conclusion,event,databaseId,status,updatedAt) + CONCLUSION=$(echo "$WF_JSON" | jq '.[0].conclusion' | sed 's/\"//g') + UPDATED=$(echo "$WF_JSON" | jq '.[0].updatedAt' | sed 's/\"//g') + EVENT=$(echo "$WF_JSON" | jq '.[0].event' | sed 's/\"//g') + if [ "$CONCLUSION" == "failure" ] && [ "$EVENT" == "schedule" ]; then + LAST_SEC=$(date --date "$UPDATED" +%s) + DIFF_MIN=$(((CURRENT_SEC - LAST_SEC) / 60)) + if ((DIFF_MIN < AGE)); then + ID=$(echo "$WF_JSON" | jq '.[0].databaseId') + echo "$ID" + fi + fi +done