intermediate
CI checks
Запускайте в CI те же deterministic checks, которые определяют merge readiness: install, lint, test, typecheck, build и content validation.
CI должен запускать те же детерминированные проверки, которым доверяют до merge: install, lint, typecheck, unit и integration tests, build и доменную валидацию (контент, схемы). Flaky CI подрывает доверие быстрее отсутствия тестов. Кешируйте зависимости, параллелизуйте jobs и падайте рано на дешёвых gates.
На интервью: опишите стадии pipeline и что каждая защищает. Обсудите required checks vs optional signal и отладку падающих jobs.
Типовые ошибки: тесты проходят локально и падают в CI из-за env drift; секреты в логах; merge с обходом checks в аврале.
Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.
Чеклист:
- Локальные скрипты = команды CI.
- Required status checks на protected branches.
- Быстрый PR feedback отдельно от nightly тяжёлых jobs.
- CI config ревьюится как код приложения.