Skip to content

鍵の期限の監視(expiry.yml)を pulumi.yml にまとめる - #439

Merged
5ym merged 2 commits into
mainfrom
expiry-into-pulumi
Oct 18, 2026
Merged

5ym merged 2 commits into
mainfrom
expiry-into-pulumi

Conversation

@5ym

@5ym 5ym commented Oct 18, 2026

Copy link
Copy Markdown
Collaborator

expiry.yml を消し、中身を pulumi/expiry.sh に出して pulumi.yml の expiry ジョブから呼ぶ。月曜の投稿は 9:00 → 13:00(JST、pulumi の週次と同じ時刻)。マージ後に report: true で手動実行して投稿まで確かめる。

🤖 Generated with Claude Code

https://claude.ai/code/session_01JbmWyUB9jcBcYCnNyiGBSV

どちらも月曜の朝に同じ鍵(NetBird・Cloudflare・Entra の preview / apply)で入っていた。
中身は pulumi/expiry.sh に出し、pulumi.yml の `expiry` ジョブから呼ぶ。投稿は 9:00 から
13:00(JST)に移る。PR では投稿せずログに出すだけ(前と同じ)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JbmWyUB9jcBcYCnNyiGBSV
@claude

claude Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Claude finished @5ym's task in 22s —— View job


レビュー結果

expiry.yml を pulumi/expiry.sh と pulumi.yml の expiry ジョブに移す変更です。スクリプトの中身は旧ワークフローのものと同一でした(差分は set -euo pipefail を run の外に出しただけ)。

要修正(軽微)

  • pulumi/README.md:51 に「MATRIX_SERVER_WEBHOOK_URL(expiry.yml の送り先)」が残っています。ファイルは削除されるので、pulumi.yml の expiry ジョブ(または pulumi/expiry.sh)に直してください。インラインコメントも付けました。

確認できたこと

  • actions/checkout を追加済みで、pulumi/expiry.sh の実行ビットは 755 です。
  • cron 0 4 * * 1 は UTC 4:00、つまり JST 13:00 で、PR 本文の記載どおりです。
  • expiry ジョブにはジョブ単位の permissions(id-token: write)があります。ワークフロー全体の contents: read のままにはなっていません。
  • if: github.event_name != 'push' で push では走りません。pull_request では DRY_RUN=true かつ preview のみで、投稿はされません。

要確認(不具合ではなく挙動の変化)

  • 旧 expiry.yml が PR で走るのは自分のファイルを触ったときだけでした。今は pulumi/** を触る PR すべてで expiry が走ります。NetBird・Cloudflare・Entra のどれかの API が一時的に落ちると、無関係な Pulumi の PR のチェックが赤くなります。必須チェックにしていなければ許容でよさそうです。気になるなら paths の絞り込みではなく、ジョブ側で pull_request のときは pulumi/expiry.sh の変更時だけ走らせる形も考えられます。
  • expiry ジョブには concurrency がありません。週次実行と手動実行が重なると二重に投稿されますが、実害は小さいです。
  • 失敗通知のステップは workflow_dispatch でも走ります。report: true の確認で失敗すると警告が部屋に飛びます(旧と同じ挙動)。

テスト

  • シェルスクリプトのテストはありません(旧も同様)。マージ後に report: true で手動実行して確かめる方針で妥当です。apply 側は Environment が main 限定なので、マージ前には確かめられません。

セキュリティ上の問題(シークレットの混入、入力の扱い)は見つかりませんでした。
| branch: expiry-into-pulumi

@github-actions

Copy link
Copy Markdown

🍹 preview on doany-cloudflare/prod

Pulumi report
Previewing update (prod):

@ previewing update.....
pulumi:pulumi:Stack doany-cloudflare-prod  
Resources:
54 unchanged

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JbmWyUB9jcBcYCnNyiGBSV
@claude

claude Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Claude finished @5ym's task in 18s —— View job


レビュー結果(更新)

前回指摘した pulumi/README.md の expiry.yml の参照は、最新のコミット f0eb3bf で pulumi.yml の expiry に直っていました。expiry.yml への参照はリポジトリ内に残っていません(grep で確認)。

問題なし

  • pulumi/expiry.sh は旧ワークフローの中身を移したものです。set -euo pipefail を run の外に出した以外に、ロジックの変更は見つかりませんでした。
  • pull_request のときは DRY_RUN=true で、投稿されません。シークレットの混入もありません。

要確認(不具合ではなく挙動の変化)

  • pulumi/** を触る PR すべてで expiry が走ります。旧 expiry.yml は自分のファイルを触った PR だけでした。NetBird・Cloudflare・Entra のどれかの API が一時的に落ちると、無関係な Pulumi の PR が赤くなります。必須チェックでなければ許容できます。
  • expiry ジョブには concurrency がありません。週次実行と手動実行が重なると二重に投稿されますが、実害は小さいです。
  • report: true の確認で失敗すると、失敗通知が部屋に飛びます。旧と同じ挙動です。

テスト

  • シェルスクリプトのテストはありません(旧も同様)。マージ後に report: true で手動実行して投稿まで確かめる方針で妥当です。
    | branch: expiry-into-pulumi

@5ym
5ym merged commit 92168b2 into main Oct 18, 2026
4 checks passed
@5ym
5ym deleted the expiry-into-pulumi branch October 18, 2026 04:40
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