Используем в новом большом проекте Jenkins. Он очень хорош, для того чтобы дать тебе вовремя понять, что ты спорол какую-то чушь, и теперь тесты закосячены, а сними и код. Но как быть, если самодисциплины не всегда хватает на выполнение тестов перед коммитом и проверку кода на соответствие стандартам? Хуки! Мы используем mercurial, для него уже есть https://pypi.python.org/pypi/hghooks/.
[hooks] pretxncommit.pep8 = python:hghooks.code.pep8hook pretxncommit.pyflakes = python:hghooks.code.pyflakeshook pretxncommit.pdb = python:hghooks.code.pdbhook pretxncommit.jslint = python:hghooks.code.jslinthook [hghooks] strict_checking = true [pep8] ignore = E501
Осталось написать собственный хук, который будет откатывать коммиты с запоротыми тестами.
UPD:
3 комментария:
Я бы сказал, что это скорее защита не от отсутствия самодисциплины (у кого ее в принципе нет - те закономерно освобождаются от работы, где она требуется), а от случайного коммита, который забыли потестить, либо локально тесты проходят, а в другом окружении - нет.
Господь с вами, кризис на дворе. Увольнять за случайный коммит не стоит (именно он ведь обсуждался в посте, разве нет?), или вы о чем то своем )))?
Если работаешь с кем-то над одним модулем и часто сливаешь изменения, то ждать по 20 мин пока пройдут тесты как-то не весело =) Вообщем, для всех веток по умолчанию такая радость, ИМХО, не нужна.
Отправить комментарий