5087c67201
- index.html: buildUrl="Build" -> без редиректа ассеты шли как /Build/WebGL.wasm (без номера сборки) под immutable 7д -> браузер неделю отдавал старую сборку - publish-release.sh --activate пишет /etc/nginx/game-active.inc: return 302 /<N>/ - immutable сужен до путей с номером сборки; остальное no-store - приёмка: / -> 302 /29/, браузер тянет /29/Build/* (все 200), autoclose-check 9/9, testfront цел - сборка 29 (fix webgl: дым падения и PC URP) опубликована на nginx
32 lines
1.3 KiB
Bash
Executable File
32 lines
1.3 KiB
Bash
Executable File
#!/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
|