Тема
Release runbook
0. Разовые действия
- Создать и верифицировать Play Console account.
- Создать app record и окончательный package ID.
- Включить Play App Signing.
- Выполнить первую загрузку через UI Play Console.
- Создать Google Cloud Project и включить Play Developer API.
- Создать service account и выдать минимальные permissions.
- Инициализировать
fastlane supply. - Настроить internal/closed tester groups.
- Сохранить offline backup upload key.
1. Preflight
- [ ] Выполнен Google Play policy preflight.
- [ ] Выполнен расширенный локальный preflight.
- [ ] Release commit находится в main и прошёл CI.
- [ ] Рабочее дерево чистое.
- [ ]
versionNameсоответствует tag. - [ ]
versionCodeбольше всех опубликованных. - [ ]
targetSdkсоответствует текущему Play policy. - [ ] Lock-файлы и Gradle Wrapper закреплены.
- [ ] Privacy/Data Safety/Ads/Target Audience актуальны.
- [ ] Release notes и store metadata готовы.
- [ ] Нет новых permissions/SDK без review.
2. Проверки
Native:
bash
./gradlew lint test assembleDebug bundleReleaseCapacitor:
bash
npm ci
npm run lint
npm test
npm run build
npx cap sync android
cd android
./gradlew lint test assembleDebug bundleReleaseДополнительно:
- основной пользовательский flow и релевантные offline/error/permission states;
- upgrade с предыдущего production build;
- background/resume, process recreation и Back;
- smoke на минимум двух API/device profiles;
- отсутствие критичных pre-review warnings.
3. Артефакт
- [ ] AAB подписан upload key.
- [ ] SHA-256 записан.
- [ ] Package/version соответствуют release.
- [ ] AAB открывается в Bundle Explorer.
- [ ]
bundletool validateи локальный install device-specific splits прошли. - [ ] Сохранены test/lint reports.
- [ ] Artifact связан с точным commit SHA.
4. Публикация
- Загрузить AAB в internal track.
- Дождаться обработки и автоматических проверок.
- Разобрать pre-launch report: stability, compatibility, performance и accessibility; при сложном flow настроить credentials/Robo script/game loop.
- Установить именно Play-delivered build.
- Выполнить smoke-test.
- Перевести в closed track.
- Собрать фактический feedback/crash evidence.
- После gate — production staged rollout.
Для Personal account применимый production-access testing gate проверяется по дате/типу аккаунта в текущей Play Console и официальной справке. Для Personal accounts, созданных после 13 ноября 2023 года, справка на дату этого документа указывает 12 opted-in testers непрерывно 14 дней. Play Console остаётся source of truth для конкретного аккаунта.
5. Staged rollout
Не выкатывайте новый release сразу на 100%, если аудитория уже существует. Пример этапов: 5% → 20% → 50% → 100%. На каждом этапе проверяйте:
- crash/ANR rate;
- ratings/reviews;
- startup failures;
- device-specific regressions;
- повреждение данных, основного flow и синхронизации.
6. Rollback
Google Play нельзя «откатить» установленные версии уменьшением version code. При критической проблеме:
- Halt staged rollout, если он не завершён.
- Подготовить исправленную сборку с новым более высоким version code.
- Использовать проверенный предыдущий source + минимальный fix.
- Пройти сокращённый, но реальный verification path.
- Задокументировать incident и regression test.
7. Post-release
- [ ] Release notes опубликованы.
- [ ] AAB digest и commit сохранены.
- [ ] Временные secret files удалены.
- [ ] Store listing соответствует фактической версии.
- [ ] Monitoring window завершён.
- [ ] Findings добавлены в tests/AGENTS/runbook.