release: публикация npm через NODE_AUTH_TOKEN (Gitea не выдаёт OIDC) #4
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user