|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 8s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
`SCRAPER_RECREATE` истинно и на infra-правках (compose / workflow / deploy/**), а те почти всегда собирают тот же образ по кэшу: digest не меняется, `up -d` выходит no-op — и за него платили пятиминутным ожиданием слива scrape_runs, прерывая сбор. Теперь после `docker compose pull` (порядок важен: до pull'а под :latest ещё старый образ) сравниваем ID подтянутого образа с тем, на котором бежит tradein-scraper. Совпало — печатаем «пересоздавать нечего» и идём дальше без drain'а; не совпало или контейнера/тега нет — drain как раньше. Заодно закрыт ложный startup-reap: чекпоинт и reap завязаны на тот же признак и больше не выполняются, когда recreate'а не было. Иначе прогон, переживший таймаут drain'а в НЕ пересозданном контейнере, помечался бы 'cancelled', продолжая работать. scraper остаётся в $SERVICES в обоих случаях — при совпавшем образе `up -d` no-op, но правка самого compose (env/лимиты сервиса) так всё же доезжает. Сверка образов: «контейнера нет» и «контейнер отстал» теперь разные сообщения — это разные аварии и чинятся по-разному; отсутствие tradein-backend (эталона) тоже отдельная строка. Refs #2679 |
||
|---|---|---|
| .. | ||
| ci-tradein.yml | ||
| ci.yml | ||
| deploy-obsidian.yml | ||
| deploy-tradein.yml | ||
| deploy.yml | ||
| perimeter-smoke.yml | ||
| stale-claims.yml | ||