Skip to content

ci(publish): 公開の確認を別ジョブにして registry の反映を最大 30 分待つ - #32

Merged
kochizufan merged 1 commit into
masterfrom
dec26/publish-registry-wait
Nov 4, 2026
Merged

kochizufan merged 1 commit into
masterfrom
dec26/publish-registry-wait

Conversation

@kochizufan

Copy link
Copy Markdown
Member

変更

.github/workflows/publish.yml だけを変えます。

  • 公開結果の確認を別ジョブ(confirm)にした: OIDC の権限(id-token: write)を持つ publish ジョブを、registry の反映待ちで延ばさないためです。confirm は permissions: {} で、needs: [verify, publish]、dry_run のときは走りません(skipped になります)。publish ジョブの timeout-minutes: 15 は変えていません。
  • 待ちを経過時間で区切る: npm の registry は公開の直後に古い応答を返すことがあるため、版と dist-tag が見えるまで最大 1800 秒待ちます(ジョブの timeout-minutes は 45)。1 回の npm view にも 20 秒の上限を付けました。上限に達したときは、公開は済んでいることと、後から照合することを出します。
  • run-name: run の一覧に dist_tag・期待する版・SHA・dry_run が出ます。
  • dry_run の OIDC 交換の確認: パッケージ名のスコープの区切りを npm CLI と同じ小文字の %2f にしました。失敗時は npm の応答の本文(先頭 500 字)と、ID トークンの claim(秘密ではない部分)を切り分けのために出します。成功時の本文は短命のトークンを含むので出さずに消します。
  • コメントの内部の参照を機能の言葉に直しました。

追加した uses: は既存と同じ actions/setup-node の 40 桁の SHA です。

確かめたこと

  • publish.yml は workflow_dispatch だけなので、この PR では走りません。test.yml の CI を見ます。
  • merge の後に dry_run=true で起動し、confirm が skipped になることと run-name の表示を確かめます。

🤖 Generated with Claude Code

- 公開結果の確認を publish ジョブから外し、confirm ジョブにした。OIDC の
  権限(id-token: write)を持つジョブを待ちで延ばさないため。confirm は
  permissions: {} で、dry_run のときは走らない
- 確認の待ちを回数ではなく経過時間にした。上限は 1800 秒(ジョブの
  timeout-minutes は 45)。1 回の npm view にも 20 秒の上限を付けた。
  上限に達したときは、公開は済んでいることと後から照合することを出す
- run-name に dist_tag・期待する版・SHA・dry_run を出す
- dry_run の OIDC 交換の確認で、パッケージ名のスコープの区切りを npm CLI
  と同じ小文字の %2f にした。失敗時は npm の応答の本文と、ID トークンの
  claim(秘密ではない部分)を切り分けのために出す
- コメントの内部の参照を機能の言葉に直した

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kochizufan
kochizufan marked this pull request as ready for review November 4, 2026 16:45
@kochizufan
kochizufan merged commit 6fab38d into master Nov 4, 2026
6 of 7 checks passed

This branch had an error being deployed

1 failed deployment
npm-publish — 5b6cd8d7 Deployed Nov 4, 2026 by kochizufan via publish(environment npm-publish の承認後) #4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant