Xcode Simulator — Ускоряем прогон тестов на CI + Fastlane
Было время принимал участие в разработке iOS приложениий в небольших продуктовых командах. Всё стандартно для такого рода разработки: 2-5 iOS разработчиков Менеджер Дизайнер Тестировщик Как видите, в списке нет DevOps, поэтому наш CI был полностью в нашем распоряжении и мы могли настраивать как нам

Image: Habr
Было время принимал участие в разработке iOS приложениий в небольших продуктовых командах. Всё стандартно для такого рода разработки:
2-5 iOS разработчиков
Менеджер
Дизайнер
Тестировщик
Как видите, в списке нет DevOps, поэтому наш CI был полностью в нашем распоряжении и мы могли настраивать как нам удобно. Когда я присоединился к командам, то на CI уже всё было настроено по классике:
Mac Studio в подвале
Запуск Unit тестов
Запуск UI тестов
Сборки различных версий приложения (Firebase, TestFlight)
Всё работало как часы, я туда если честно не лазил (сначала), из разговора коллег, сама настройка CI им досталась от первых разработчиков проекта, которые больше уже не в команде и они там фундаментально после них ничего не меняли.
Время шло, задачи закрывались, релизы выпускались, в свободное время от задач расчищали беклог - в общем скукота. Так как мне нравится ковырять в носу xcodebuild через терминал, то иногда я стал замечать, что, например, тесты на CI и локально работают по-разному в плане скорости, локально вроде всё очень быстро, но на CI реально иногда надолго всё залипало - 5, 10, иногда 20 минут, хотя локально из консоли до двух раз быстрее.
После очередного закрытого спринта досрочно, осталось время на беклог, у меня закралась мысль, что что-то не так с нашим CI. Так как я знаю, что у нас на CI стоит Mac Studio, которая точно, хоть и немного, но шустрее моей машины, но по времени выполнения задач этого не скажешь.
Решил в итоге открыть ящик пондоры Fastfile и посмотреть, что же там и как это работает.
Оригинальная статья
Xcode Simulator — Ускоряем прогон тестов на CI + Fastlane
Опубликовано Habr