2 Commits

Author SHA1 Message Date
claude 16bd87cca1 release: публикация npm через NODE_AUTH_TOKEN (Gitea не выдаёт OIDC) (#4)
Release / Release (push) Successful in 9m23s
Release / Build & push Docker image (push) Has been skipped
Хотфикс release.yml: NPM auth через NODE_AUTH_TOKEN=NPM_TOKEN, снят provenance и id-token: write — Gitea Actions не выдаёт OIDC id-token, поэтому trusted publishing/provenance работать не могут.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 05:56:17 +00:00
ant 677dc35bde Merge pull request 'release: parser2 1.1.0 + ship-reader 0.2.0 (полный SHiP action_trace)' (#3) from dev into main
Release / Release (push) Failing after 5m30s
Release / Build & push Docker image (push) Has been skipped
Reviewed-on: #3
Reviewed-by: Алексей Муравьев <chairman.voskhod@gmail.com>
2026-05-27 06:36:18 +00:00
+9 -9
View File
@@ -10,12 +10,13 @@ name: Release
# Если версия не менялась — workflow no-op (без ошибки).
#
# Требуемые secrets в настройках репозитория:
# NPM_TOKEN — npm access token с правами publish на @coopenomics/*
# (Gitea Actions не выдаёт OIDC id-token, поэтому npm
# trusted publishing/provenance здесь недоступны —
# используем классический auth через NODE_AUTH_TOKEN)
# DOCKERHUB_USERNAME — Docker Hub логин с доступом к организации dicoop
# DOCKERHUB_TOKEN — PAT с правами Read,Write из hub.docker.com/settings/security
# GITHUB_TOKEN — выдаётся автоматически GitHub Actions
#
# npm publish работает через trusted publishing (OIDC) — токен не нужен:
# настроен на стороне npm для @coopenomics/parser2 под этот workflow.
on:
push:
@@ -27,7 +28,6 @@ concurrency:
permissions:
contents: write # tag + GitHub Release
id-token: write # npm trusted publishing (OIDC) + sigstore provenance
jobs:
release:
@@ -71,15 +71,15 @@ jobs:
pnpm --filter @coopenomics/coopos-ship-reader build
pnpm --filter @coopenomics/parser2 build
# npm trusted publishing: OIDC через id-token: write, без NPM_TOKEN.
# Настроено на стороне npm: @coopenomics/parser2/access → Trusted Publisher
# → GitHub Actions (repo=coopenomics/parser2, workflow=release.yml).
# Provenance=true — sigstore подпишет каждый publish.
# Auth через NODE_AUTH_TOKEN: actions/setup-node по registry-url прописал
# //registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN} в ~/.npmrc, npm/lerna
# читают токен из env. Provenance не включаем — требует OIDC id-token,
# которого Gitea Actions не выдаёт (Trusted Publisher тоже не сработает).
- name: Publish via Lerna (from-package)
if: steps.ver.outputs.released == 'true'
run: pnpm exec lerna publish from-package --yes --no-private
env:
NPM_CONFIG_PROVENANCE: true
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Tag release