Repository navigation
ci: pin npm runtime in production D1 migration workflow - #3679
Conversation
azumag
left a comment
There was a problem hiding this comment.
コード・設計・テスト・CI を確認しました。packageManager の npm 10.9.4 を npm ci 前に side-effect-free flags 付きで固定し、HUSKY=0 を適用する変更は既存 CI / nightly E2E と整合しています。追加テストは package.json との一致と pin → install → pending list → apply の順序を意味的に固定しており、migration SQL・依存・lockfile・Cloudflare credential/environment には触れていません。初回 CI の formatting failure は Prettier 指摘どおり同じ PR で修正済みで、最新 HEAD c4cfdcd43ad67aadba36b505dc33ea5119c49b69 では Lint & Test と Prisma / D1 migration parity がともに成功、unresolved review thread もありません。
ただし、この PR は .github/workflows/d1-migrate.yml 自身を変更しており、現行 push.paths に同ファイルが含まれるため main への merge が production D1 migration job を起動します。production の pending migration 状態をこの PR の通常 CI からは検証できないため、これは merge blocker として維持します。production pending state と実行意図を確認できるまでは draft のまま・未マージが安全です。
|
main は #3702 の merge により 次回この PR を触る際は、最新 main への最小追従 → fresh CI → production gate の順で確認します。 |
6bbe71a to
e876cca
Compare
|
最新 ただし安全境界は変わりません。この PR の merge は |
e876cca to
430e7a4
Compare
|
#3706 merge 後の最新 |
430e7a4 to
8ce340e
Compare
8ce340e to
ce0b852
Compare
|
最新の Fresh CI run #3336 は ただし安全境界は変わりません。この PR を |
1865b22 to
5ae32ea
Compare
|
最新 ただし安全境界は変わりません。 |
54b577f to
5304304
Compare
|
最新 ただし安全境界は変わりません。この PR の merge は |
5304304 to
01e892e
Compare
2d4899c to
891a136
Compare
80c6429 to
f744f05
Compare
|
最新 production 安全境界も不変です。この workflow 自身が |
|
fresh CI #3376 が新 HEAD |
f744f05 to
a8ff3c4
Compare
|
#3736 の merge 後の最新 |
a8ff3c4 to
35f1353
Compare
|
#3738 merge 後の最新 |
azumag
left a comment
There was a problem hiding this comment.
最新 main 75b72710fded2c1af39b1f8ca1fc3ea1695dc59f を通常の 2-parent merge で取り込んだ HEAD c42a4afc9fedc618440ace04e2f4ad17409a0b8a を再確認しました。main 比 behind 0 / ahead 52 ですが、論理差分は引き続き .github/workflows/d1-migrate.yml、docs/ci-npm-toolchain.md、smkc-score-app/__tests__/docs/d1-migrate-npm-toolchain.test.ts の3ファイルだけです。fresh CI #4292 は Prisma/D1 migration parity、lint、format、unit tests、Production Next.js build、security audit が全て success、未解決 review thread もありません。コード上の blocking finding はありません。
ただし merge 自体が production D1 migration workflow の起動条件になる運用 gate は変わっていません。明示的な production D1 実行判断が出るまでは draft / 未マージを維持すべきです。承認後も branch の52コミットを main push に持ち込まず squash merge が安全です。
azumag
left a comment
There was a problem hiding this comment.
最新 main 追従後の HEAD fb27a2833cef2c5872e7fae81589957a28a8c8f7 を再確認しました。main 比 behind 0 / ahead 53、論理差分は引き続き D1 migration workflow・npm toolchain 文書・focused regression test の3ファイルのみです。CI #4295 は Prisma/D1 migration parity、lint、changed-file formatting、unit tests、Production Next.js build、security audit がすべて成功しています。コード・設計・テスト上の blocking finding はありません。
ただしこの PR は .github/workflows/d1-migrate.yml 自身を変更しており、main への merge が production D1 migration workflow を起動するため、運用上の明示判断が得られるまでは draft / 未マージを維持すべきです。許可時は 53コミットの branch history を main push に持ち込まず squash merge を使うのが安全です。
azumag
left a comment
There was a problem hiding this comment.
最新 main eb3734ed31b8aaf4d49a0f018cebcfd05b26897a へ通常の 2-parent merge で追従した HEAD を再確認しました。main 比 behind 0 / ahead 54、論理差分は引き続き D1 migration workflow・npm toolchain 文書・focused regression test の3ファイルのみです。CI #4299 は Prisma/D1 parity、lint、format、unit tests、Production build、security audit がすべて成功し、未解決 review thread 0。コード・設計・テスト上の blocking finding はありません。Claude Code Review は draft PR のため skipped です。なお main merge が production D1 migration workflow の起動条件になる運用 gate は変わらないため、明示的な production D1 実行判断までは draft / 未マージを維持すべきです。許可時も 54-commit branch history を main に流さず squash merge とします。
azumag
left a comment
There was a problem hiding this comment.
最新 main 1d6bb8d4c9ea93748687bbc3d34547c3f1c0d3e3 を通常の2-parent mergeで取り込んだ HEAD を再確認しました。main 比 behind 0 / ahead 55、論理差分は引き続き .github/workflows/d1-migrate.yml、docs/ci-npm-toolchain.md、focused regression test の3ファイルだけです。fresh CI #4302 は Prisma/D1 migration parity、lint、changed-file formatting、unit tests、Production build、security audit がすべて成功し、draft のため Claude Code Review は skipped。blocking finding はありません。
ただし merge gate は従来どおりです。この PR の main merge 自体が production D1 migration workflow を起動するため、明示的に production D1 を1回実行してよい判断が出るまでは draft / 未マージを維持してください。許可時も branch history 55 commits を main push に持ち込まず squash merge とし、Cloudflare Workers Builds の 20+ commit watch-path 例外を不要に踏まない方針を維持します。
azumag
left a comment
There was a problem hiding this comment.
latest main 追従後の再レビューです。blocking finding はありません。
- HEAD
454f3fe3080f9feff998a10964109c1ffab8a059は latest maind50ecc352009cc5ceca7c3e88445bb33fa0ff09dに対して behind 0 / ahead 56。 - 論理差分は
.github/workflows/d1-migrate.yml、docs/ci-npm-toolchain.md、smkc-score-app/__tests__/docs/d1-migrate-npm-toolchain.test.tsの3ファイルのみです。 - CI #4305 は Prisma/D1 migration parity、lint、changed-file formatting、unit tests、Production Next.js build、security audit がすべて success。
- review thread は 0 件です。
コード・設計・テスト上は merge 可能ですが、.github/workflows/d1-migrate.yml 自身が push.paths 対象で、main merge が production D1 migration workflow を起動する運用 gate は変わっていません。明示的な production D1 実行判断が出るまでは draft / 未マージを維持してください。許可時は 56 commit の branch history を main push に持ち込まないよう squash merge が必要です。
azumag
left a comment
There was a problem hiding this comment.
最新 main 934f455c5f22b414ff28f79382ae9fbc9cfaf848 へ通常の 2-parent merge で追従した HEAD ad5d9a1a53622210128711b971432e2f95961f55 を再確認しました。main 比 behind 0 / ahead 57、論理差分は引き続き .github/workflows/d1-migrate.yml、docs/ci-npm-toolchain.md、smkc-score-app/__tests__/docs/d1-migrate-npm-toolchain.test.ts の3ファイルのみです。fresh CI #4308 は Prisma/D1 migration parity、lint、changed-file formatting、unit tests、Production Next.js build、security audit がすべて success。Claude Code Review は draft PR のため skipped、未解決 review thread はありません。コード・設計・テスト上の blocking finding はありません。
ただし運用 blocker は変わりません。この PR の main merge 自体が production D1 migration workflow の push.paths 対象なので、production D1 を1回実行する明示判断なしには merge しません。承認時は 57 commits の branch history を main に流さず squash merge とします。
azumag
left a comment
There was a problem hiding this comment.
最新 main 42b314b2664d03394b14ebac6d6dc9a48c055043 を通常の2-parent mergeで取り込んだ HEAD 67bd50271f570dda29cf19367da3076f41d2e309 を再確認しました。blocking finding はありません。
- latest main 比 behind 0 / ahead 58。論理差分は引き続き
.github/workflows/d1-migrate.yml、docs/ci-npm-toolchain.md、focused regression test の3ファイルのみです。 - CI #4312 は Prisma/D1 migration parity、lint、changed-file formatting、unit tests、Production Next.js build、security audit が全て success。Claude Code Review は draft PR のため skipped、未解決 review thread 0 です。
- コード・設計・テスト上の blocker はありません。
ただし .github/workflows/d1-migrate.yml 自身が push.paths 対象のため、main への merge は production D1 migration workflow の実行を伴います。production D1 を今1回実行してよい明示判断がない限り、draft のまま merge しない運用 gate を維持します。許可時も 58 commit の branch history を main push に流さず squash merge とするのが安全です。
azumag
left a comment
There was a problem hiding this comment.
latest main 1cd4daee5faa7ab45159973023d243e317f08ded を force push / 履歴改変なしの通常2-parent mergeで取り込み、HEAD 00b4f62c34fbd80639c290242eacf4f662237181 を再確認しました。main 比 behind 0 / ahead 59、論理差分は引き続き .github/workflows/d1-migrate.yml、docs/ci-npm-toolchain.md、smkc-score-app/__tests__/docs/d1-migrate-npm-toolchain.test.ts の3ファイルだけです。CI #4315 は Prisma/D1 migration parity、lint、changed-file formatting、unit tests、Production Next.js build、security audit がすべて success。コード・設計・テスト上の blocking finding はありません。
ただしこの PR は .github/workflows/d1-migrate.yml 自身を変更し、main merge が production D1 migration workflow の起動条件になるため、既存の運用 gate(production D1 を1回実行してよいという明示判断)が未解決です。draft を維持し、許可時も59コミットの branch history を main に流さず squash merge とするのが安全です。
azumag
left a comment
There was a problem hiding this comment.
最新 main 追従後の HEAD 1a78e9df649ab226a8758bc610b3a0c793557003 を再確認しました。論理差分は引き続き D1 migration workflow / npm toolchain docs / focused regression test の3ファイルのみで、未解決 review thread はありません。CI #4322 は Prisma/D1 migration parity、lint、changed-file formatting、unit tests、Production Next.js build、security audit がすべて成功しています。コード・設計・テスト上の blocking finding はありません。
ただし、この PR の main merge 自体が production D1 migration workflow の実行条件である運用 gate は変わっていません。明示的に production D1 実行を許可されるまでは draft / 未マージを維持するのが安全です。許可時も branch が main より60 commits ahead のため squash merge を使い、長い branch history を main push に持ち込まないでください。
azumag
left a comment
There was a problem hiding this comment.
最新 main 641f1bdd2b774dd8dd93192748589523ca6d3a9f 追従後の HEAD 252161bff18443a4ca03dc1819f3285df09578ab を再確認しました。論理差分は引き続き D1 migration workflow / npm toolchain docs / focused regression test の3ファイルのみ、review thread は0件です。CI #4326 は Prisma/D1 migration parity、lint、changed-file formatting、unit tests、Production Next.js build、security audit がすべて成功しています。コード・設計・テスト上の blocking finding はありません。
ただし、main merge が production D1 migration workflow を起動する運用 gate は変わっていません。production D1 実行の明示許可が出るまでは draft / 未マージを維持してください。現在 main より61 commits ahead なので、許可時も squash merge を使い、長い branch history を main push に持ち込まないのが安全です。
azumag
left a comment
There was a problem hiding this comment.
最新 main 8223071939d498b9a5b6a6d58752ee7280bce0bb への追従後 HEAD を再確認しました。論理差分は引き続き D1 migration workflow / npm toolchain docs / focused regression test の3ファイルのみで、blocking finding はありません。fresh CI が green ならコード上は merge 可能ですが、main merge が production D1 migration workflow を実行するため、明示的な本番 D1 実行判断が得られるまでは draft / 未マージを維持してください。merge 時は Workers Builds の 20+ commit 例外を避けるため squash が必要です。
|
2026-10-01 06:27 JST の fresh preflight を記録します。
コード・CI・現在の migration 状態に新しい blocker はありません。残る gate は PR 本文どおり「main merge により production |
|
latest main
コード・設計・テスト上の blocker はありません。残る gate は PR 本文どおり、main merge が production D1 migration workflow を1回起動するという運用判断だけです。明示的に run-now を承認するまでは draft / 未マージを維持し、承認時は66コミットの branch history を main push に持ち込まないよう squash merge とします。 |
|
#4207 merge 後の latest main
production D1 も read-only で再確認し、最新適用は id=46 / コード・設計・テスト上の blocker はありません。残る gate は PR 本文どおり、main merge が production D1 migration workflow を1回起動するという運用判断だけです。明示的に run-now を承認するまでは draft / 未マージを維持し、承認時は67コミットの branch history を main push に持ち込まないよう squash merge とします。 |
Summary
d1-migrate.ymlto the repositorypackageManagernpm runtime (npm@10.9.4) beforenpm ci--ignore-scripts --no-audit --no-fundand verifynpm --versionHUSKY=0for dependency installationpackage.jsonand preserves the existing list → apply migration orderSafety boundary
This PR is intentionally draft.
.github/workflows/d1-migrate.ymlis in its ownpush.paths, so merging a change to this workflow intomainwill start the production D1 migration job. Do not merge solely because PR CI is green.Before merge, confirm the production D1 pending-migration state and that triggering one production migration run is intended. After merge, verify exactly the intended
D1 Migraterun succeeds through list/apply/post-apply pending checks.Cloudflare Workers Builds has a separate watch-path exception for push events containing 20 or more commits. This branch is now 20+ commits ahead of
mainbecause it has been kept current with normal merge commits, and that count can increase on future refreshes. Therefore, once the production D1 run is explicitly approved, merge this PR with squash rather than a merge commit so themainpush introduces a single commit and does not unnecessarily bypass the intentionalpath_excludes=["*"]Worker-build suppression. Do not rewrite/force-push this branch to reduce its history.No migration SQL, dependency, lockfile, Cloudflare credential/environment, Node major, audit exception, or application behavior changes.
Refs #3476