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 ревьюится как код приложения.