Всем привет!
Ситуация: используем GitHub для разработки большой системы, тесты запускаются на Jenkins, один прогон стоит много, ибо в тестах запускается где-то полтысячи виртуальных машин в облаках. Иногда запускать тесты при push-е с открытым PR не имеет смысла: это долгострой, review которого открыт, чтобы мнения собирать; другой вариант: разработчик получает комментарии в PR, за это время master уезжает, поэтому делается rebase, push, проходит время, потом человек адресует комментарии в review, делается push с нужными изменениями (два push-а делаются, чтобы можно было посмотреть через GitHub "чистые изменения" и не разгребать rebase).
Вопрос: как наиболее удобно пропускать определённые шаги на CI? В идеале выглядеть должно примерно так: git push -f --skip-tests (да, нужен alias в shell). Можно добавлять что-то в commit message, потом парсить на стороне Jenkins, но это требует модификации commit-ов. Можно dummy commit делать, но будет лишний commit, который будет мешаться при просмотре PR на GItHub. Можно добавлять метку к PR на GitHub и читать её в Jenkins, но это надо заходить на GitHub перед push-ем или ставить консольный клиент GitHub и авторизовываться в нём каждому разработчику, а их больше сотни... (склоняюсь к этому варианту).
Может есть какое-то простое решение, о котором я не подумал?