Шаг "Install trufflehog" качал install.sh с raw.githubusercontent через
curl без ретрая. Разовый сетевой таймаут (curl exit 28) валил secret-scan
→ deploy пропускался (needs: [build, secret-scan]), хотя код корректен.
Добавлен цикл из 3 попыток с паузой 10с + --connect-timeout/--max-time
и проверка command -v trufflehog. Разовый сетевой сбой CI больше не
блокирует деплой.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
du -sh натыкался на systemd-private-* в build/wiki/tmp (Permission
denied) → exit 1 → deploy failure, хотя rsync долетел. Теперь verify
проверяет наличие index.html, а du неблокирующий (2>/dev/null||true).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
S1 в downtime — деплой не должен валиться, главное доставить на S2.
S1 rsync/verify помечены continue-on-error; S2 остаётся строгим.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 блокера перед запуском opensource-контрибьюторов:
1. CI Lint+Format убран format:check (отдельная формат-неделя).
Secret-scan переехал с docker run на нативный trufflehog install.
2. Ассеты (106 МБ kubikon-assets/) в Gitea Releases:
https://git.rublox.pro/rublox/player/releases/tag/assets-v1
npm run fetch-assets + postinstall.
3. PlayerAuth поддерживает ?standalone=1 URL-параметр
(раньше только через VITE_STANDALONE в .env).