release: публикация npm через NODE_AUTH_TOKEN (Gitea не выдаёт OIDC) #4

Merged
claude merged 1 commits from fix/release-npm-token into main 2026-05-28 05:56:17 +00:00
Owner

Хотфикс к release.yml. После merge PR #3 release.yml упал на lerna publish:

EUSAGE Provenance generation in GitHub Actions requires write access to the id-token permission

Gitea Actions не выдаёт OIDC id-token (это GitHub-специфичный механизм), поэтому ни npm trusted publishing, ни sigstore provenance в нашем раннере работать не будут — независимо от того, что permissions указаны. Раз NPM_TOKEN уже в секретах репозитория, переключаемся на классический auth:

  • NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} в шаге publish (actions/setup-node уже прописал .npmrc с шаблоном ${NODE_AUTH_TOKEN} через registry-url);
  • снят NPM_CONFIG_PROVENANCE: true;
  • снят id-token: write из permissions (больше не нужен);
  • обновлены комментарии и список secrets.

Ничего опубликовать lerna не успел — в npm 1.1.0/0.2.0 нет, тега v1.1.0 нет. После merge этого PR release.yml запустится повторно (push в main), version-check всё ещё видит свежие 1.1.0/0.2.0 и корректно опубликует.

Хотфикс к release.yml. После merge PR #3 release.yml упал на lerna publish: ``` EUSAGE Provenance generation in GitHub Actions requires write access to the id-token permission ``` Gitea Actions не выдаёт OIDC id-token (это GitHub-специфичный механизм), поэтому ни npm trusted publishing, ни sigstore provenance в нашем раннере работать не будут — независимо от того, что permissions указаны. Раз `NPM_TOKEN` уже в секретах репозитория, переключаемся на классический auth: - `NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}` в шаге publish (actions/setup-node уже прописал `.npmrc` с шаблоном `${NODE_AUTH_TOKEN}` через `registry-url`); - снят `NPM_CONFIG_PROVENANCE: true`; - снят `id-token: write` из permissions (больше не нужен); - обновлены комментарии и список secrets. Ничего опубликовать lerna не успел — в npm 1.1.0/0.2.0 нет, тега `v1.1.0` нет. После merge этого PR `release.yml` запустится повторно (push в main), version-check всё ещё видит свежие 1.1.0/0.2.0 и корректно опубликует.
claude added 1 commit 2026-05-28 05:55:34 +00:00
release: публикация npm через NODE_AUTH_TOKEN, без OIDC/provenance
CI / Lint (pull_request) Successful in 9m49s
CI / Typecheck (pull_request) Successful in 9m24s
CI / Unit tests (pull_request) Successful in 9m36s
CI / Integration tests (pull_request) Successful in 9m48s
CI / Build (pull_request) Successful in 9m26s
c5dc3ca799
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 <noreply@anthropic.com>
claude merged commit 16bd87cca1 into main 2026-05-28 05:56:17 +00:00
Sign in to join this conversation.