Skip to content

Commit

Permalink
Moved retried PRs to failed jobs
Browse files Browse the repository at this point in the history
Closes #24
  • Loading branch information
stianst committed Dec 12, 2023
1 parent 9aff506 commit 90543db
Show file tree
Hide file tree
Showing 110 changed files with 278,575 additions and 191 deletions.
64 changes: 31 additions & 33 deletions load-retried-prs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,49 +5,47 @@ DATE_TODAY=$(date "+%Y-%m-%d")

CREATED="$DATE_30_DAYS_AGO..$DATE_TODAY"

REPORT='retried-prs'
if [ -f $REPORT ]; then
PREVIOUS=$(cat $REPORT)
else
PREVIOUS=""
fi
REPORT_TMP='retried-prs.tmp'
RUN_IDS=()

echo "Searching for retried workflow runs in $CREATED"
echo ""

echo 'created_at,pr_number,run_id,attempt,conclusion,failed_jobs' | tee $REPORT_TMP

for i in $(gh api -X GET repos/keycloak/keycloak/actions/workflows/ci.yml/runs --paginate -f status=success -f event=pull_request -f created="$CREATED" -f per_page=100 | jq -r '.workflow_runs[] | [.id, .run_attempt, .created_at, .head_sha] | @csv'); do
ID=$(echo $i | cut -d ',' -f 1)
for i in $(gh api -X GET repos/keycloak/keycloak/actions/workflows/ci.yml/runs --paginate -f status=success -f event=pull_request -f created="$CREATED" -f per_page=100 | jq -r '.workflow_runs[] | [.id, .run_attempt] | @csv'); do
RUN_ID=$(echo $i | cut -d ',' -f 1)
RUN_ATTEMPTS=$(echo $i | cut -d ',' -f 2)
CREATED_AT=$(echo $i | cut -d ',' -f 3)
HEAD_SHA=$(echo $i | cut -d ',' -f 4)

if [ "$RUN_ATTEMPTS" -gt 1 ]; then
RUN_ATTEMPT=1
while [ $RUN_ATTEMPT -lt $RUN_ATTEMPTS ]; do
PREVIOUS_RESULT=$(echo "$PREVIOUS" | grep ",$ID,$RUN_ATTEMPT" || echo 'null')
if [ "$PREVIOUS_RESULT" != "null" ]; then
echo "$PREVIOUS_RESULT" | tee -a $REPORT_TMP
else
if [ "$PR_NUMBER" == "" ]; then
PR_NUMBER=$(gh api -X GET search/issues -f q="repo:keycloak/keycloak is:pr SHA:$HEAD_SHA" | jq .items[0].number)
fi
CONCLUSION=$(gh run view -R keycloak/keycloak $ID --attempt $RUN_ATTEMPT --json conclusion | jq -r .conclusion)
if [ "$CONCLUSION" == "failure" ]; then
FAILED_JOBS=$(gh api -X GET --paginate repos/keycloak/keycloak/actions/runs/$ID/attempts/$RUN_ATTEMPT/jobs | jq '.jobs[] | select(.name != "Status Check - Keycloak CI" and (.conclusion == "failure" or .conclusion == "cancelled")) | (.name + " (" + .conclusion + ")")' | jq -s '.' | jq 'join("; ")')
else
FAILED_JOBS="null"
fi
echo "$CREATED_AT,$PR_NUMBER,$ID,$RUN_ATTEMPT,$CONCLUSION,$FAILED_JOBS" | tee -a $REPORT_TMP
RUN_ATTEMPT=$(( $RUN_ATTEMPTS - 1 ))

RUN=$(gh run view -R keycloak/keycloak $RUN_ID --attempt $RUN_ATTEMPT --json createdAt,conclusion,event --jq '[.createdAt, .conclusion, .event] | @csv')
RUN_DATE=$(echo $RUN | cut -d ',' -f 1 | sed 's/"//g')
CONCLUSION=$(echo $RUN | cut -d ',' -f 2 | sed 's/"//g')
EVENT=$(echo $RUN | cut -d ',' -f 3 | sed 's/"//g')

echo $RUN_ID $RUN_ATTEMPT $RUN_DATE $CONCLUSION

if [ "$CONCLUSION" == "failure" ]; then
RUN_IDS+=($RUN_ID)

if [ ! -f logs/pr-jobs-$RUN_ID ]; then
echo "# $RUN_DATE $EVENT" > logs/pr-jobs-$RUN_ID
gh api -X GET repos/keycloak/keycloak/actions/runs/$RUN_ID/attempts/$RUN_ATTEMPT/jobs --paginate --jq '.jobs[] | .name + ": [" + .conclusion + "]"' >> logs/pr-jobs-$RUN_ID
fi
RUN_ATTEMPT=$(( $RUN_ATTEMPT + 1 ))
done

PR_NUMBER=""
if [ ! -f logs/pr-log-$RUN_ID ]; then
gh run view -R keycloak/keycloak $RUN_ID --attempt $RUN_ATTEMPT --log-failed > logs/pr-log-$RUN_ID
fi
fi
fi
done

for i in `ls logs/pr-jobs-*`; do
RUN_ID=`echo $i | sed 's|logs/pr-jobs-||g'`
if [[ ! " ${RUN_IDS[*]} " =~ " ${RUN_ID} " ]]; then
echo "Purging old run: $RUN_ID"
rm logs/pr-jobs-$RUN_ID
rm logs/pr-log-$RUN_ID
fi
done

mv $REPORT_TMP $REPORT

5 changes: 3 additions & 2 deletions load-run-logs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ for i in $(gh api -X GET repos/keycloak/keycloak/actions/workflows/ci.yml/runs -
if [ ! -f logs/jobs-$RUN_ID ]; then
echo "Downloading run: $RUN_ID"

echo "# $RUN_DATE" > logs/jobs-$RUN_ID
echo "# $RUN_DATE $EVENT" > logs/jobs-$RUN_ID
gh api -X GET repos/keycloak/keycloak/actions/runs/$RUN_ID/jobs --paginate --jq '.jobs[] | .name + ": [" + .conclusion + "]"' >> logs/jobs-$RUN_ID
gh run view -R keycloak/keycloak $RUN_ID --log-failed > logs/log-$RUN_ID
else
Expand All @@ -33,6 +33,7 @@ for i in `ls logs/jobs-*`; do
RUN_ID=`echo $i | sed 's|logs/jobs-||g'`
if [[ ! " ${RUN_IDS[*]} " =~ " ${RUN_ID} " ]]; then
echo "Purging old run: $RUN_ID"
rm logs/*-$RUN_ID
rm logs/jobs-$RUN_ID
rm logs/log-$RUN_ID
fi
done
36 changes: 36 additions & 0 deletions logs/pr-jobs-7015559474
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 2023-11-28T07:32:27Z pull_request
Check conditional workflows and jobs: [success]
Build: [success]
Base UT: [success]
Quarkus IT (ubuntu-latest, sanity-check-zip): [success]
Quarkus IT (ubuntu-latest, zip): [failure]
Account Console IT (chrome): [success]
Quarkus IT (ubuntu-latest, container): [failure]
Base IT (1): [success]
Legacy Clustering IT: [success]
Quarkus IT (ubuntu-latest, storage): [success]
Base IT (2): [success]
Quarkus IT (windows-latest, sanity-check-zip): [success]
FIPS IT (non-strict): [success]
Base IT (3): [success]
FIPS IT (strict): [success]
FIPS UT: [success]
Base IT (4): [success]
Forms IT (chrome): [success]
Base IT (5): [success]
Forms IT (firefox): [success]
Java Distribution IT (ubuntu-latest, temurin, 19): [success]
Java Distribution IT (windows-latest, temurin, 19): [success]
Legacy Store IT: [skipped]
Base IT (6): [success]
Migration Tests (19.0.3, postgres): [success]
Migration Tests (19.0.3, mysql): [success]
Quarkus UT (ubuntu-latest): [success]
Migration Tests (19.0.3, oracle): [success]
Quarkus UT (windows-latest): [success]
Migration Tests (19.0.3, mssql): [success]
Store Model Tests: [skipped]
WebAuthn IT (chrome): [success]
Migration Tests (19.0.3, mariadb): [success]
SSSD: [skipped]
Status Check - Keycloak CI: [failure]
36 changes: 36 additions & 0 deletions logs/pr-jobs-7015904521
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 2023-11-28T08:11:46Z pull_request
Check conditional workflows and jobs: [success]
Build: [success]
Base IT (1): [success]
Base IT (2): [success]
Base IT (3): [success]
Legacy Clustering IT: [success]
Quarkus IT (ubuntu-latest, sanity-check-zip): [success]
Base IT (4): [success]
Java Distribution IT (ubuntu-latest, temurin, 19): [success]
Quarkus IT (ubuntu-latest, zip): [success]
Base IT (5): [success]
Java Distribution IT (windows-latest, temurin, 19): [success]
Quarkus UT (ubuntu-latest): [success]
Quarkus IT (ubuntu-latest, container): [failure]
Base IT (6): [success]
Quarkus UT (windows-latest): [success]
Quarkus IT (ubuntu-latest, storage): [success]
Base UT: [success]
Quarkus IT (windows-latest, sanity-check-zip): [success]
Account Console IT (chrome): [success]
FIPS IT (non-strict): [success]
FIPS UT: [success]
FIPS IT (strict): [success]
Forms IT (chrome): [success]
Legacy Store IT: [skipped]
Forms IT (firefox): [success]
Migration Tests (19.0.3, postgres): [success]
WebAuthn IT (chrome): [success]
Migration Tests (19.0.3, mysql): [success]
Store Model Tests: [skipped]
Migration Tests (19.0.3, oracle): [success]
Migration Tests (19.0.3, mssql): [success]
SSSD: [skipped]
Migration Tests (19.0.3, mariadb): [success]
Status Check - Keycloak CI: [failure]
45 changes: 45 additions & 0 deletions logs/pr-jobs-7017522406
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# 2023-11-29T07:21:21Z pull_request
Check conditional workflows and jobs: [success]
Databases New Store: [success]
Build: [success]
Quarkus UT (ubuntu-latest): [success]
Quarkus UT (windows-latest): [success]
Legacy Clustering IT: [success]
Base IT (1): [success]
Java Distribution IT (ubuntu-latest, temurin, 19): [success]
Base IT (2): [success]
Java Distribution IT (windows-latest, temurin, 19): [success]
Base IT (3): [success]
Base IT (4): [success]
Base IT (5): [success]
New Store IT (chm): [success]
Base IT (6): [success]
Quarkus IT (ubuntu-latest, sanity-check-zip): [success]
New Store IT (hot-rod): [success]
Quarkus IT (ubuntu-latest, zip): [success]
New Store IT (jpa-postgres): [success]
Quarkus IT (ubuntu-latest, container): [success]
Base UT: [success]
Quarkus IT (ubuntu-latest, storage): [success]
Quarkus IT (windows-latest, sanity-check-zip): [success]
Account Console IT (chrome): [success]
FIPS IT (non-strict): [success]
FIPS UT: [success]
Account Console IT (firefox): [success]
FIPS IT (strict): [success]
Forms IT (chrome): [success]
Legacy Store IT (postgres): [success]
Forms IT (firefox): [success]
Legacy Store IT (mysql): [success]
Migration Tests (19.0.3, postgres): [success]
Legacy Store IT (oracle): [success]
SSSD: [skipped]
Migration Tests (19.0.3, mysql): [success]
Legacy Store IT (mssql): [success]
Store Model Tests: [success]
Migration Tests (19.0.3, oracle): [success]
Legacy Store IT (mariadb): [success]
WebAuthn IT (chrome): [success]
Migration Tests (19.0.3, mssql): [failure]
Migration Tests (19.0.3, mariadb): [success]
Status Check - Keycloak CI: [failure]
36 changes: 36 additions & 0 deletions logs/pr-jobs-7018271656
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 2023-11-28T11:46:29Z pull_request
Check conditional workflows and jobs: [success]
Build: [success]
Quarkus UT (ubuntu-latest): [success]
Base IT (1): [success]
Quarkus UT (windows-latest): [success]
Quarkus IT (ubuntu-latest, sanity-check-zip): [success]
Base IT (2): [success]
Quarkus IT (ubuntu-latest, zip): [success]
Base IT (3): [success]
Base UT: [success]
Quarkus IT (ubuntu-latest, container): [failure]
Base IT (4): [success]
Quarkus IT (ubuntu-latest, storage): [success]
Base IT (5): [success]
Quarkus IT (windows-latest, sanity-check-zip): [success]
Base IT (6): [success]
Account Console IT (chrome): [success]
Legacy Clustering IT: [success]
FIPS IT (non-strict): [success]
FIPS IT (strict): [success]
FIPS UT: [success]
Java Distribution IT (ubuntu-latest, temurin, 19): [success]
Java Distribution IT (windows-latest, temurin, 19): [success]
Forms IT (chrome): [success]
Legacy Store IT: [skipped]
Forms IT (firefox): [success]
Migration Tests (19.0.3, postgres): [success]
Migration Tests (19.0.3, mysql): [success]
SSSD: [skipped]
Migration Tests (19.0.3, oracle): [success]
Store Model Tests: [skipped]
Migration Tests (19.0.3, mssql): [success]
Migration Tests (19.0.3, mariadb): [success]
WebAuthn IT (chrome): [success]
Status Check - Keycloak CI: [failure]
36 changes: 36 additions & 0 deletions logs/pr-jobs-7018730672
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 2023-11-28T12:27:28Z pull_request
Check conditional workflows and jobs: [success]
Build: [success]
Quarkus UT (ubuntu-latest): [success]
Quarkus IT (ubuntu-latest, sanity-check-zip): [success]
Quarkus UT (windows-latest): [success]
Quarkus IT (ubuntu-latest, zip): [success]
Quarkus IT (ubuntu-latest, container): [failure]
Account Console IT (chrome): [success]
Quarkus IT (ubuntu-latest, storage): [success]
Base IT (1): [success]
Legacy Clustering IT: [success]
Quarkus IT (windows-latest, sanity-check-zip): [success]
FIPS IT (non-strict): [success]
Base IT (2): [success]
FIPS IT (strict): [success]
Base IT (3): [success]
FIPS UT: [success]
Java Distribution IT (ubuntu-latest, temurin, 19): [success]
Java Distribution IT (windows-latest, temurin, 19): [success]
Base IT (4): [success]
Base UT: [success]
Base IT (5): [success]
Forms IT (chrome): [success]
Base IT (6): [success]
Legacy Store IT: [skipped]
Forms IT (firefox): [success]
Migration Tests (19.0.3, postgres): [success]
Store Model Tests: [skipped]
Migration Tests (19.0.3, mysql): [success]
WebAuthn IT (chrome): [success]
Migration Tests (19.0.3, oracle): [success]
Migration Tests (19.0.3, mssql): [failure]
Migration Tests (19.0.3, mariadb): [success]
SSSD: [skipped]
Status Check - Keycloak CI: [failure]
40 changes: 40 additions & 0 deletions logs/pr-jobs-7019482846
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 2023-11-28T13:28:50Z pull_request
Check conditional workflows and jobs: [success]
Build: [success]
Quarkus UT (ubuntu-latest): [success]
Base UT: [success]
Quarkus UT (windows-latest): [success]
Base IT (1): [success]
FIPS UT: [success]
Base IT (2): [success]
Java Distribution IT (ubuntu-latest, temurin, 19): [success]
Base IT (3): [success]
Legacy Clustering IT: [success]
Java Distribution IT (windows-latest, temurin, 19): [success]
Legacy Store IT (postgres): [success]
Base IT (4): [success]
Legacy Store IT (mysql): [success]
Quarkus IT (ubuntu-latest, sanity-check-zip): [success]
Base IT (5): [success]
Legacy Store IT (oracle): [success]
Quarkus IT (ubuntu-latest, zip): [success]
Base IT (6): [success]
Legacy Store IT (mssql): [success]
Quarkus IT (ubuntu-latest, container): [failure]
Legacy Store IT (mariadb): [success]
Quarkus IT (ubuntu-latest, storage): [success]
Account Console IT (chrome): [success]
Quarkus IT (windows-latest, sanity-check-zip): [success]
FIPS IT (non-strict): [success]
Forms IT (chrome): [success]
FIPS IT (strict): [success]
Migration Tests (19.0.3, postgres): [success]
Forms IT (firefox): [success]
Migration Tests (19.0.3, mysql): [success]
Migration Tests (19.0.3, oracle): [success]
Store Model Tests: [success]
Migration Tests (19.0.3, mssql): [success]
WebAuthn IT (chrome): [success]
Migration Tests (19.0.3, mariadb): [success]
SSSD: [skipped]
Status Check - Keycloak CI: [failure]
36 changes: 36 additions & 0 deletions logs/pr-jobs-7020444045
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 2023-11-28T14:46:32Z pull_request
Check conditional workflows and jobs: [success]
Build: [success]
Quarkus UT (ubuntu-latest): [success]
Quarkus IT (ubuntu-latest, sanity-check-zip): [success]
Quarkus UT (windows-latest): [success]
Quarkus IT (ubuntu-latest, zip): [failure]
Quarkus IT (ubuntu-latest, container): [failure]
Legacy Clustering IT: [success]
Base IT (1): [success]
Quarkus IT (ubuntu-latest, storage): [success]
FIPS IT (non-strict): [success]
Base IT (2): [success]
Quarkus IT (windows-latest, sanity-check-zip): [success]
Base IT (3): [success]
FIPS IT (strict): [success]
FIPS UT: [success]
Base IT (4): [success]
Base IT (5): [success]
Java Distribution IT (ubuntu-latest, temurin, 19): [success]
Base IT (6): [success]
Base UT: [success]
Account Console IT (chrome): [success]
Java Distribution IT (windows-latest, temurin, 19): [success]
Forms IT (chrome): [success]
Forms IT (firefox): [success]
Migration Tests (19.0.3, postgres): [success]
Legacy Store IT: [skipped]
Migration Tests (19.0.3, mysql): [success]
SSSD: [skipped]
Migration Tests (19.0.3, oracle): [success]
Store Model Tests: [skipped]
Migration Tests (19.0.3, mssql): [success]
Migration Tests (19.0.3, mariadb): [success]
WebAuthn IT (chrome): [success]
Status Check - Keycloak CI: [failure]
Loading

0 comments on commit 90543db

Please sign in to comment.