MAJOR (0.7.4 → 1.0.0) — это не каждый merge в main, а осознанный «отдали стабильную сборку во вне» (отдельный деплой, тег, снимок для пользователей).
- Готовы назвать сборку стабильной для внешних пользователей
- Пройдены smoke-тесты на стенде, миграции БД применены на прод-БД
- В
CHANGELOG.mdперенесены пункты из[Unreleased]в секцию## [1.0.0] — дата
-
Убедиться, что
mainактуален и собирается:npm run build. -
Локально (или в CI позже):
npm run release:prod -- --dry-run # посмотреть 0.x.y → 1.0.0 npm run release:prod # записать версию в package.json
-
Оформить CHANGELOG: новая секция
## [1.0.0] — ГГГГ-ММ-ДД, очистить/оставить[Unreleased]. -
Коммит:
chore(release): prod v1.0.0(версии + changelog). -
Тег и push:
git tag v1.0.0 git push origin main --tags
-
GitHub → Releases → описание из changelog.
-
Деплой прод-окружения по DEPLOYMENT.md (отдельный процесс, env, БД).
- Не полагаться на автоматический bump в
mainдля MAJOR — workflow меняет только MINOR/PATCH. - Не ставить тег
v1.0.0без обновления changelog и без проверки миграций.
Не каждый merge в main сразу на стенде. Выкладка только когда на main прошли локальные build/smoke, затем PR main → staging — на стенде одна стабильная версия X.Y.Z для отчётов тестировщиков. Подробно: WORKFLOW.md. Прод — только после QA на стенде.
- Кнопка workflow_dispatch «Release production» в GitHub Actions
- Environment production с approval на деплой
Пока зафиксировано только это руководство; автоматизацию прода добавим отдельно.
Для обычных merge в main см. VERSIONING.md:
version:minor,version:patch,version:skip
- Секреты только в
server/.envна сервере, не в git. - Collaborators: Settings → Collaborators в репозитории.