#!/bin/bash # Ждём завершения последнего прогона CI fun-game-front2 и печатаем итог + УРЛ образа. AUTH="-u subochev:Drovosek319" BASE="https://git.binom.pw/api/v1" REPO="subochev/fun-game-front2" for i in $(seq 1 120); do OUT=$(curl -s $AUTH "$BASE/repos/$REPO/actions/runs?limit=1") ST=$(echo "$OUT" | python3 -c "import sys,json;r=json.load(sys.stdin)['workflow_runs'][0];print(r['id'],r['run_number'],r['status'],r.get('conclusion'))") set -- $ST RUN_ID=$1; NUM=$2; STATUS=$3; CONC=$4 echo "$(date +%H:%M:%S) run #$NUM статус=$STATUS вывод=$CONC" if [ "$STATUS" = "completed" ]; then echo "=== ИТОГ run #$NUM: $CONC ===" if [ "$CONC" != "success" ]; then echo "--- хвост лога провалившихся шагов ---" curl -s $AUTH "$BASE/repos/$REPO/actions/runs/$RUN_ID/jobs" | python3 -c " import sys,json for j in json.load(sys.stdin).get('jobs',[]): print('job:', j['name'], '|', j.get('conclusion')) for s in j.get('steps',[]): if s.get('conclusion') not in ('success','skipped',None): print(' FAILED step:', s['name'], s.get('conclusion')) " fi exit 0 fi sleep 30 done echo "=== ТАЙМАУТ ожидания (60 мин) ===" exit 1