ci(release): чинить publish-packages — генерировать controller/schema.gql перед publish
С 24 июня (минимум) publish-packages падает на каждом релизе main: @coopenomics/sdk's prepublishOnly (pnpm run docs → generate-index-comments.ts) читает components/controller/schema.gql, которого нет в чекауте и никто не генерирует — ENOENT. lerna publish атомарный, поэтому НИ ОДИН пакет не публикуется. Итог: main давно на v2026.7.9, а npm видел последний раз 2026.5.30-3 — полтора месяца фиксов (включая убранный kpp из BankAccountDetailsInput, PR #81) не долетали до потребителей SDK. Фикс: добавлен шаг generate-schema (изолированный, GraphQLSchemaBuilderModule, без БД) ПОСЛЕ lerna run build — порядок важен, иначе ts-node падает на устаревших dist соседних workspace-пакетов (проверено локально: cooptypes → factory → inter → notifications, каждый был stale и валил компиляцию controller'а по цепочке). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -390,6 +390,18 @@ jobs:
|
||||
|
||||
- run: pnpm install --frozen-lockfile
|
||||
- run: pnpm lerna run build
|
||||
|
||||
# schema.gql не коммитится и не создаётся ничем в этом job'е, а
|
||||
# @coopenomics/sdk's prepublishOnly (pnpm run docs → generate-index-comments.ts)
|
||||
# читает components/controller/schema.gql и падает ENOENT без него — валя весь
|
||||
# lerna publish (атомарный) молча с 30 мая. Скрипт изолированный (GraphQLSchemaBuilderModule,
|
||||
# без TypeORM/Mongo/Redis) — не требует БД, но типизация controller'а резолвится через
|
||||
# dist соседних workspace-пакетов (cooptypes/factory/notifications/inter) — ОБЯЗАТЕЛЬНО
|
||||
# после `lerna run build`, иначе ts-node падает на их устаревших dist-типах.
|
||||
- name: Generate controller schema.gql (required by sdk prepublishOnly)
|
||||
working-directory: components/controller
|
||||
run: pnpm run generate-schema
|
||||
|
||||
- run: pnpm lerna publish from-package --yes
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
Reference in New Issue
Block a user