44e45dfb00
Релизный флоу переведён на линейную fast-forward модель — устраняет регулярные конфликты на 20 package.json при релизе. Корень проблемы: publish-alpha.sh/publish-prod.sh бампали версию НА КАЖДОЙ ветке (alpha-N на testnet, чистую на main) через `git merge -X theirs` + back-merge. Два независимых bump-коммита за цикл + merge'и плодили расхождение веток → конфликты (особенно при гонке push/pull). Новая модель: - Версию бампает lerna ОДИН раз на dev (scripts/cut-release.sh). - Тот же коммит едет вверх по FF: scripts/promote.sh testnet|main (server-side fast-forward push, рабочее дерево не трогается). - testnet/main не несут своих коммитов → ветки не диверджатся → конфликты структурно невозможны. release.yaml: - Триггер: push в testnet/main с изменением lerna.json (вместо тега v*). Окружение определяет ВЕТКА (main→prod, testnet→staging), не суффикс -alpha. - Версия читается из закоммиченного lerna.json (едет с коммитом по FF). - Гейты npm-publish/доки: branch == main (вместо !contains '-alpha'). - Образы/webhook по-прежнему версия-тегированы → playbooks/приёмник деплоя не затрагиваются. Удалены publish-alpha.sh/publish-prod.sh и мёртвые дубли тех же merge-X-theirs скриптов (root sync:main, components/contracts production/testnet/docs-publish). Документация — scripts/RELEASE.md + CLAUDE.md PR-flow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
17 lines
559 B
JSON
17 lines
559 B
JSON
{
|
|
"name": "@coopenomics/contracts",
|
|
"version": "2026.6.9-17",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build:all": "./build-all.sh",
|
|
"build:all:test": "./build-all.sh test",
|
|
"build:one": "./build.sh $1",
|
|
"build:one:test": "contract=$1 mode=test ./build.sh",
|
|
"enter": "./boot/scripts/enter.sh",
|
|
"standards:dev": "pnpm --filter @coopenomics/standards-site dev",
|
|
"standards:build": "pnpm --filter @coopenomics/standards-site build",
|
|
"standards:preview": "pnpm --filter @coopenomics/standards-site preview"
|
|
}
|
|
}
|