Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Улучшение автоматической сборки проектов #99

Merged
merged 46 commits into from
Sep 6, 2017

Conversation

Ostrenkiy
Copy link
Contributor

@Ostrenkiy Ostrenkiy commented Aug 24, 2017

Задача: #APPS-1424

Коротко для Release Notes, в формате «Сделали/Добавили/Исправили N»:
Улучшения fastfile для автоматической генерации скриншотов и релиза на все таргеты

Описание:

  • Опенсорснуть fastfile
  • Deliver на все схемы
  • Сделать так, чтобы версия билда увеличивалась у всех таргетов
  • Автоматическая загрузка dSym файлов для release билдов
  • Автоматическая генерация скриншотов

@Ostrenkiy Ostrenkiy added this to the 1.42 milestone Aug 24, 2017
@Ostrenkiy Ostrenkiy requested a review from kvld August 24, 2017 09:08
@kvld
Copy link
Contributor

kvld commented Aug 24, 2017

Первая итерация генерации скриншотов. Пока только snapshot, без остального fastlane. В Snapfile вынесено:

  • devices
  • languages
  • launch_arguments

Возможно languages нужно убрать тоже (например, для ПДД не нужна генерация скриншотов английской локали).
В launch_arguments параметры для UserDefaults, возможно их стоит задавать непосредственно в UI тесте (если возможно) или в коде приложения (проверяя флаг) – для скриншотов основного приложения они не нужны, но и мешать не будут.

Для всех адаптивных приложений созданы схемы и таргеты с тестами. Запуск на примере 1838, из корня проекта:
snapshot -s "Adaptive 1838 Screenshots" -o "./fastlane/screenshots/1838"

UI тест со скриншотами нужно немного переделать:

  • Добавить ожидание элементов (вместо вызовов sleep)
  • Окно с запросом разрешений на нотификации немного всё ломает

@Ostrenkiy
Copy link
Contributor Author

@kvld круто!
Осталось теперь сделать так, чтобы snapshot вызывался в Fastfile для лейна releasescheme перед deliver.
Скриншоты должны сохраняться вот по такому пути screenpath = "./fastlane/screenshots/#{scheme}"

@Ostrenkiy Ostrenkiy force-pushed the feature/fastlane-enhancements branch from eea3b5d to 7e3c924 Compare August 24, 2017 22:18
@Ostrenkiy
Copy link
Contributor Author

Закончил эту эпопею с форспушами и теперь команда fastlane beta git_change:true увеличивает билд версии для всех таргетов 🎉 🥇

@kvld
Copy link
Contributor

kvld commented Aug 28, 2017

Теперь при релизе, после deliver загружаем символы в крашлитикс.
Нужно проверить, что на машине, где будет это всё происходить, установлен клиент Fabric.

@kvld
Copy link
Contributor

kvld commented Sep 5, 2017

Теперь умеем не только делать скриншоты автоматически, но и оборачивать их в рамку устройства, добавлять фон и заголовок.
Лэйны со скриншотами:

  • customise_screenshots(scheme) – добавить фрейм на скриншот для схемы
  • create_screenshots(scheme) – сделать скриншоты для схемы
  • create_screenshots_all(customise) – сделать скриншоты для всех схем (добавить фреймы, если customise == true)

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

  • python 3 (и pip)
  • freetype
  • imagemagick

Для всех адаптивных схем добавлены конфиги, фоны и шрифты (fastlane/screenshots/scheme_name).
Что неплохо бы сделать ещё (не в рамках этого ПР):

  • В UI тесте для скриншотов по-прежнему вызовы sleep, от этого хочется избавиться
  • Алерт с разрешением на пуши как-то криво закрывается и весь тест ломается – скриншоты удается сделать только со второй попытки, а это дополнительное время
  • Свайпы карточек, которые мы показываем на скриншотах на разных диагоналях экранов отличаются
  • Возможно, для основного приложения нужно тоже автоматизировать этот процесс
  • Подправить размеры заголовков, шрифта, какие-нибудь отступы

@Ostrenkiy Ostrenkiy requested review from kvld and removed request for kvld September 5, 2017 19:55
Copy link
Contributor

@kvld kvld left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь всё круто, кажется.
Чтобы было совсем хорошо:

  • Обновить метадату
  • Отформатировать Fastfile (там отступы посъезжали немного и так по мелочи)

@Ostrenkiy
Copy link
Contributor Author

Ostrenkiy commented Sep 5, 2017

Сделаешь сегодня? @kvld

  • lane для обновления версии
  • Обновление метадаты
  • Форматирование Fastfile

@kvld
Copy link
Contributor

kvld commented Sep 5, 2017

@Ostrenkiy смотри и мерджи.

@Ostrenkiy Ostrenkiy merged commit 1d5d5c9 into dev Sep 6, 2017
@Ostrenkiy Ostrenkiy deleted the feature/fastlane-enhancements branch September 6, 2017 10:29
@Ostrenkiy Ostrenkiy mentioned this pull request Sep 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants