From c5dc3ca79942deba548e37cb7af4a5386a39e383 Mon Sep 17 00:00:00 2001 From: coopops Date: Thu, 28 May 2026 05:55:17 +0000 Subject: [PATCH] =?UTF-8?q?release:=20=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20npm=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=20NODE=5FAUTH=5FTOKEN,=20=D0=B1=D0=B5=D0=B7=20OIDC/provenance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit lerna publish падал в Gitea Actions: EUSAGE Provenance generation in GitHub Actions requires "write" access to the "id-token" permission Permission в workflow выставлен, но Gitea Actions не выдаёт OIDC id-token (это GitHub-специфичный механизм) — поэтому ни provenance, ни trusted publishing работать не будут. Переключаемся на классический auth: NODE_AUTH_TOKEN=NPM_TOKEN (actions/setup-node прописал .npmrc с шаблоном ${NODE_AUTH_TOKEN}). Снят NPM_CONFIG_PROVENANCE и id-token: write. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/release.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b993c23..06bb1d9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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 -- 2.52.0