Уронили оплату пятничным релизом, R8 выпилил классы платежного API
Рейтинг: 34.2% · 2 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Уронили оплату пятничным релизом, R8 выпилил классы платежного API
Расскажу, как мы в пятницу вечером положили оплату. Может кому сэкономит нервы.
Дано: Android апп, оплата через СБП. Решили ужать apk, включили minify в платежном модуле, где его исторически не было, R8 full mode (AGP 8.x, он там дефолт). QA гонял debug сборку, в ней minify выключен, классика. Все зеленое, катим в пятницу в 19:00 сразу на 20% staged rollout, потому что "изменения же минимальные".
R8 съел классы ответов платежного API. kotlinx.serialization, модели лежали ровно в том модуле. Краш строго на экране оплаты. В субботу к 10 утра crash-free 92.4, Crashlytics орет, рабочий чат орет, я с дачи по хотспоту торможу раскатку. Halt в консоли сделали, но кто успел обновиться, тот с крашем, отката в Play нет. Хотфикс с правилами в consumer-proguard-rules.pro собрали за час, ревью гугл держал 9 часов.
Итого: тестировать release сборку, не катить платежи в пятницу, первый шаг раскатки 1%, а не 20. Поделитесь, кто как себя страхует, хочется чужих граблей, а не только своих.
Дано: Android апп, оплата через СБП. Решили ужать apk, включили minify в платежном модуле, где его исторически не было, R8 full mode (AGP 8.x, он там дефолт). QA гонял debug сборку, в ней minify выключен, классика. Все зеленое, катим в пятницу в 19:00 сразу на 20% staged rollout, потому что "изменения же минимальные".
R8 съел классы ответов платежного API. kotlinx.serialization, модели лежали ровно в том модуле. Краш строго на экране оплаты. В субботу к 10 утра crash-free 92.4, Crashlytics орет, рабочий чат орет, я с дачи по хотспоту торможу раскатку. Halt в консоли сделали, но кто успел обновиться, тот с крашем, отката в Play нет. Хотфикс с правилами в consumer-proguard-rules.pro собрали за час, ревью гугл держал 9 часов.
Итого: тестировать release сборку, не катить платежи в пятницу, первый шаг раскатки 1%, а не 20. Поделитесь, кто как себя страхует, хочется чужих граблей, а не только своих.
✔ Лучший ответ сформирован автоматически — kingpaul
У нас после похожей истории с Moshi в 2023 процесс такой. Smoke прогоняется именно на minified release против стейджа, набор maestro на критичные флоу (логин, корзина, оплата), минут 40 на CI. Раскатка 1 -> 5 -> 20 -> 50 -> 100, между шагами минимум сутки и взгляд на crash-free по новой версии. Звучит занудно, но с тех пор ни одного ночного звонка.
Re: Уронили оплату пятничным релизом, R8 выпилил классы платежного API
✔ Лучший ответ — сформирован автоматически
У нас после похожей истории с Moshi в 2023 процесс такой. Smoke прогоняется именно на minified release против стейджа, набор maestro на критичные флоу (логин, корзина, оплата), минут 40 на CI. Раскатка 1 -> 5 -> 20 -> 50 -> 100, между шагами минимум сутки и взгляд на crash-free по новой версии. Звучит занудно, но с тех пор ни одного ночного звонка.
Re: Уронили оплату пятничным релизом, R8 выпилил классы платежного API
kotlinx.serialization с компиляторным плагином от R8 ломаться не должен, правила едут прямо в артефакте. у вас скорее всего где-то decodeFromString с дженериком через рефлексию или typeOf, вот такое full mode и выносит. так что ваш @Keep это пластырь, найдите настоящее место, иначе вернется
Re: Уронили оплату пятничным релизом, R8 выпилил классы платежного API
@misha12, фичефлаг на оплату спас бы. у нас любой платежный флоу за рубильником в remote config. при таком краше выключаешь СБП, юзеры платят картой, пока хотфикс едет ревью. 9 часов ревью с лежащей оплатой это боль, которую можно не испытывать
Поделиться темой:
✈ Telegram
VK
- Похожие темы
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость