Как убедиться, что все крючки предварительной фиксации проходят в CI/CD

#pre-commit-hook #pre-commit #pre-commit.com

Вопрос:

Моя команда использует предварительную фиксацию в наших репозиториях для выполнения различных проверок кода и форматирования. Большинство моих товарищей по команде используют его, но некоторые полностью пропускают его, связываясь с git commit --no-verify ним . Есть ли в любом случае возможность запустить что-то в CI/CD, чтобы обеспечить прохождение всех крючков предварительной фиксации (мы используем действия GitHub). Если хотя бы один крючок не сработает, выдайте ошибку.

Ответ №1:

Есть несколько вариантов:

  • задание adhoc, которое выполняется pre-commit run --all-files , как показано в pre-commit.com документы (вы, вероятно, также захотите --show-diff-on-failure , если используете форматеры)
  • pre-commit.ci система CI, специально созданная для этой цели
  • предварительная фиксация/действие действие на github, которое находится в режиме только для обслуживания (не рекомендуется для новых случаев использования)

отказ от ответственности: я создал предварительную фиксацию, и pre-commit.ci, и действие github