This commit is contained in:
26
.github/workflows/publish.yml
vendored
26
.github/workflows/publish.yml
vendored
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user