ci(release): FF-промоушн dev→testnet→main вместо merge -X theirs #119
Reference in New Issue
Block a user
Delete Branch "feat/ff-release-flow"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Зачем
Релиз регулярно ловит конфликты на ~20 package.json (последний — сегодня, при
git pullво времяpnpm run production). Корень:publish-alpha.sh/publish-prod.shбампали версию на каждой ветке черезgit merge -X theirs+ back-merge → два независимых bump-коммита за цикл → расхождение веток → конфликты.Что меняется
Линейная fast-forward модель:
scripts/cut-release.sh—lerna versionОДИН раз на dev (автобамп lerna сохранён, без ручных бампов).scripts/promote.sh testnet|main— server-side FF-push (origin/dev:testnet,origin/testnet:main), рабочее дерево не трогается.release.yaml:lerna.json(вместо тегаv*). Окружение определяет ветка (main→prod, testnet→staging), не суффикс-alpha.lerna.json(едет с коммитом по FF).branch == main.Что НЕ меняется (проверено)
dicoop/*:vX).DOCKER_TAG = {{ tag }}без изменений.-alphaнигде в mono/playbooks не парсится, кроме удаляемого кода.Команды
Подробно —
scripts/RELEASE.md.⚠️ Перед мерджем / валидация
testnet/main— только FF-промоушн, никаких прямых коммитов (иначеpromote.shотвергнет push — это гард).Удалены:
publish-alpha.sh/publish-prod.sh, мёртвые дубли (sync:main,components/contractsproduction/testnet/docs-publish).🤖 Generated with Claude Code