diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d370a40..7c7dbd3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,29 +22,27 @@ jobs: registry-url: "https://git.lendry.ru/api/packages/lendry-erp/npm/" scope: "@lendry-erp" - # 1. Устанавливаем Go (нужен для скачивания плагинов генерации) - name: Setup Go uses: actions/setup-go@v5 with: - go-version: "1.22" # Можно указать нужную тебе версию + go-version: "1.22" - # 2. Устанавливаем плагины генерации для Go и добавляем их в PATH - name: Install Go Protoc Plugins run: | go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest echo "$(go env GOPATH)/bin" >> $GITHUB_PATH + # Используем Action для точного контроля версии protoc (например, 25.x) - name: Install protoc - run: sudo apt-get update && sudo apt-get install -y protobuf-compiler + uses: arduino/setup-protoc@v3 + with: + version: "25.x" - name: Install deps run: npm ci - - name: Build - run: npm run build - - # 3. Исправленный шаг генерации (команды разделены, добавлено создание папки) + # 1. СНАЧАЛА генерируем код (до сборки) - name: Generate Protobuf run: | npm install -g ts-proto @@ -55,16 +53,18 @@ jobs: --go-grpc_out=paths=source_relative:./gen/go \ $(find ./proto -name "*.proto") + # 2. ПОТОМ собираем проект (tsc скомпилирует только что сгенерированные файлы) + - name: Build + run: npm run build + + # 3. Коммитим изменения в репозиторий - name: Commit and push changes run: | - # Представляемся Git-ботом git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" - - # Добавляем папку gen в индекс git add ./gen - - # Проверяем, есть ли изменения. Если есть — коммитим и пушим. git diff --quiet && git diff --staged --quiet || (git commit -m "chore: auto-generate protobuf files [skip ci]" && git push) + + # 4. Публикуем пакет (npm возьмет папку dist/ с уже скомпилированными контрактами) - name: Publish package run: npm publish diff --git a/package.json b/package.json index 42bad0c..a4327a3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lendry-erp/contracts", - "version": "1.1.10", + "version": "1.1.11", "description": "Protobuf definitions and generated TypeScript types", "type": "commonjs", "main": "./dist/index.js",