Pull to refresh

Comments 9

Привет!
Спасибо за статью, кажется, вы сэкономили нам время на исследование Cilicon и tart, потому что тоже уже очень хотим двигаться в эту сторону.

Интересно было бы узнать, как вы совмещаете Ruby и Swift? У нас сейчас вся инфра в основном на Ruby (Fastlane и куча логики вокруг него), но хотим подумать в сторону Swift, чтобы большая часть инфры была на ней. Может уже смотрели в эту сторону, были ли с этим у вас какие-то сложности/интересные моменты?

Руби мы используем только для фастлейна, по сути. И долю фастлейна мы в Пицце постепенно сокращаем, прям намеренно:

  • Сборки и тесты мы в этом году начали запускать напрямую через xcodebuild, там всё просто оказалось. Хотя не без приколов — в Xcode 14.3 в команде test-withoud-building отломали флаг -testPlan , пришлось учиться работать напрямую с .xctestrun. Но там тоже ничего сложного.

  • Из фастлейна остались только запуски matchdeliver и pilot, хотелось бы и от них отказаться. В качестве замены мы присматриваемся к swiftlane или App Store Connect Swift SDK, но ни то ни другое пока не потрогали.

  • Часть тулинга пишем сами на свифте, что-то даже в опенсурц выкладываем. Готовой странички со ссылками на все пакеты нет, но в нашем канале постов 5 подряд есть про это.

  • Часть тулинга пишем на баше вместе с ChatGTP, очень довольны. Она конечно иногда ересь несет, но по итогу скрипты собираем.

Из интересного — абсолютно всё. Каждая задача по инфре для меня как для iOS-разраба — новая, сложная, непонятная. Но после каждой закрытой задачки ощущение, что преисполнился.

мы уже давно делаем альтернативу fastlane, но используя обычные shell команды https://github.com/codemagic-ci-cd/cli-tools Очень просто в обучении и переносе между локальной средой и любым CI/CD провайдером

В качестве runtime выбран Python, потому что по-умолчанию присутсвует на всех macOS компьютерах и нет таких проблем совместимости как с Ruby

Если знаете как ускорить резолвинг SPM-зависимостей

пробовали Tuist? мы здесь писали и результат на тестовых проектах просто офигенный

или как устанавливать ченжлонг для сборок в тестфлайте без ожидания их процессинга — напишите, пожалуйста, в комментариях.

если я правильно понял, то Codemagic делает это после того как основной билд закончился. В результате можно запускать новые билды и они не будут ждать в очереди и скорость TestFlight / App Store не влияет на количество потраченных минут.

И кстати типичная ошибка считать затраты поминутно как будто вы билдите 24x7. Для таких команд всегда надо брать план с фиксированной стоимостью (у нас 3 M2 машины с анлим минутами стоят $4k в год, можете посчитать что выгоднее со всеми затратами на обновление Xcode / Ruby версий) да простите меня за наглую рекламу :)

пробовали Tuist? мы здесь писали и результат на тестовых проектах просто офигенный

Ага, на нем и сидим. А `tuist cache` прям резолвинг ускоряет? Мы попробуем, спасибо. Но вообще хочется иметь минимальную завязку на него, чтобы _если вдруг что_ можно было дальше без него продолжить работать.

если я правильно понял, то Codemagic делает это после того как основной билд закончился

Да, у нас так же. Но фастлейн ждет завершения процессинга загруженной сборки и обновляет ченжлог только после. Вот это хочется развернуть, но мы пока ещё не изучали можно ли.

И кстати типичная ошибка считать затраты поминутно как будто вы билдите 24x7

Тут не понял. Я из апи гитхаба забрал количество минут, которое тратилось на джобы, и помножил на стоимость минуты. Это некорректно?

Тут не понял. Я из апи гитхаба забрал количество минут, которое тратилось на джобы, и помножил на стоимость минуты. Это некорректно?

после определенного количества минут, поминутный план (pay-as-you-go) будет всегда дороже чем план с фиксированной стоимостью. Поэтому если идет активная разработка и активное использование CI/CD, то всегда надо выбирать фиксированный план.

И я про то, что в зависимости от вашего сценария использования, любой провайдер предлагает разные тарифы. Умножить количество минут на стоимость - это корректно, но не показывает, сколько вы можете платить на самом деле.

Думаю тоже затащить Cilicon. Хочу уточнить нормально ли гоняются снэпшот тесты на образах с xcode?

Там абсолютно такие же приколы рендера, как и без Cilicon — полупрозрачности рисуются по-разному в зависимости от чипа мака, от версии макоса и версии иоса.

Sign up to leave a comment.