🚀 Как мы релизим

Введение
Релиз проходит через несколько ключевых этапов. Ниже описаны основные шаги и правила для успешного создания и публикации релиза.
Диаграмма
Создание release ветки
Для создания релиз-кандидата от develop ветки необходимо создать новую ветку вида release/vX.Y.Z и открыть Merge Request (МР) в master. Билды для этого МРа будут автоматически собираться с типом РК.
Не используй squash!
Сними галку со сквоша. Релизные ветки заливаются в master с сохранением истории изменений. Это обязательно для автоверсионирования релизов. Иначе могут возникнуть проблемы с версионированием.
Сборка РК собирается при создании релиз-тега на ветке.
Чтобы создать релиз-тег, нужно запустить Job в пайплайне мердж-реквеста - release.
В результате выполнения будет создан тег и запущен пайплайн сборки РК. Следи за этим процессом в Build -> Pipelines.
RC Changelog
Ченжлог генерируется на каждый релиз-тег. Найти его можно на странице Deploy -> Releases.
Обновление release notes
Чтобы обновить релиз-нотсы, нужно добавить коммит с обновленными текстами в develop (если релиза еще нет) или релизную ветку: chore: update release notes.
- Android -
android/fastlane/metadata/android/{language}/changelogs/default.txt - iOS -
ios/fastlane/metadata/{language}/release_notes.txt
TIP
Актуальные релиз-нотсы можно найти в 📝 Release Notes - История релиз-нотсов или спросить у ПМа.
Регресс и баги
Баги, которые блокируют релиз, исправляются в релизной ветке:
INFO
Коммиты без номера задачи пушатся в релизную ветку release/vX.Y.Z по конвенции. Пример: fix: fix wrong logic in subscription page
Если баг не блокирует релиз, создается задача для его исправления позже.
Аппрув от QA на релиз
Не используй squash!
Сними галку со сквоша. Релизные ветки заливаются в master с сохранением истории изменений. Это обязательно для автоверсионирования релизов. Иначе могут возникнуть проблемы.
Когда регресс пройден и QA дал аппрув на релиз, мержишь релизный МР в master с сохранением истории (выключи squash). Билд на разливку соберется автоматически, и черновики появятся в App Store и Play Market Console.
Google Play
- Открой Выпуск -> Обзор выпусков.
- Найди черновик и открой его.
- В черновике уже обновлены релиз-нотсы и прикреплен билд. Можно отправлять на ревью:

- Не забыть поставить 100% распространение:

- Проверить, что стоит ручная раскатка(должно быть так:)

Проверку самого гугла можно не ждать, нажимаем отправить на проверку:

App Store
Перед тем, как отправить версию на проверку, необходимо в Firebase поменять флаг feature_show_illegal_stuff.

Выключаем иллегал стаф для билда на проверке, вписываем номер релизного билда. 



- В App Store Connect найди черновик новой версии в списке версий.
- В черновике уже обновлены релиз-нотсы.
- Укажи билд вручную и отправь на ревью:
- Слева в консоли появится черновик новой версии:

- В нем надо пролистать вниз и вручную добавить нужный релиз:

- Убедиться, что стоит ручная выкатка и процент аудитории для всех пользователей:


- Нажать "сохранить" и "добавить для проверки"


- Справа внизу появился черновик и уже там отправляем на проверку:


RuSTORE
Черновик загружается автоматически и улетает на проверку автоматически. Нужно только убедиться, что стоит ручная публикация и 100% аудитория: 
Huawei AppGallery
- Версия в AppGallery отправляется на проверку после того, как версия доступна пользователям в Google Play.
- В AppGallery Connect найди черновик новой версии в списке версий.
- Чтобы отправить на ревью нажать на "Отправить на проверку".
Готово
🚀
Как выпускать билды после успешной проверки(только по команде Тимлида)
В GooglePlay Console: 
Для IOS: 


Слева увидим, что релиз раскатился:

Не забыть вернуть флаг feature_show_illegal_stuff в исходное состояние(прописан билд 10000).
RuStore: 

Backmerge master -> develop
WARNING
master мержится в develop после пайплайна (когда создан коммит с бампом версии, ченжлогом и тегом).
После заливки релизной ветки в master, необходимо подлить master обратно в develop. Это можно сделать через CLI или Git UI, но если не уверен, лучше использовать МР master -> develop.
Список изменений
Список изменений автоматически создается и находится в ArtForIntrovert • mobileApp • Releases.