me.neoascetic

Периодический запуск тестов на Travis-CI

Для некоторых проектов, особенно которые не являются “вещью в себе”, а зависят от внешних источников, необходимо запускать тесты или билды при изменении в этих самых источниках. Конечно, оптимальный вариант - это триггерить билд при непосредственном изменении во внешней зависимости, но решение просто запускать билд с какой-то периодичностью - гораздо проще в реализации и поддержке. Для подобных проектов, использующих популярный сервис travis-ci, это является проблемой, потому что он не поддерживает (UPD: уже поддерживает) это искаропки. Но решение есть.

Для compless мне потребовался периодический запуск, потому что для некоторых миксинов я использую хаки, которые могут поломаться в новой версии lessjs. Как уже написал, travis пока не поддерживает эту фичу, и недолгий гуглинг привёл меня на traviscron - сервис, который этот недочёт устраняет. Где-то в течение года все работало нормально, тесты гонялись, но недавно я заметил, что что-то пошло не так - судя по всему, автор просто забил на проект.

Для ребят по ссылке решением стало использовать travis_cron, написанный на Руби, и хостить его самостоятельно. Это все конечно круто, подумал я, но использовать Руби, ставить кучу непонятных гемов для такой простой задачи - это какой-то оверкилл. В общем, были такие же мысли, что сподвигнули меня на написание rawgithack - и итогом стало написание travis-cron (нейминг!), который занимает двадцать строчек на баше и делает практически то же самое - включая само-тестирование. Ох уж эти хипстеры!