ci(infra): classroom と admin の CI ジョブを追加する (#1155) - #1156
Conversation
infra/** の変更でワークフローは起動するのに、この 2 つだけジョブが無く 素通りしていた。cold cache でテストが丸ごと走らない破綻(#1144)も、 tsc の破綻も CI では気付けず、ローカルの結果に頼るしかなかった。 他 4 プロジェクトと同じ 3 ジョブ(Unit Tests / CDK Build & Synth / Security Audit)を、pin した action・node-version-file・npm キャッシュを 含めて同じ形で追加する。node-version-file の参照先が無かったので .node-version も他と同じ 24.8.0 で追加する。 synth は Route53 を引かないよう他と同様にカスタムドメインを無効化する。 Closes #1155 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CI ジョブを足したところ handler-notifications.test.ts が TS2554 で suite ごと落ちた。import/export を持たない .ts はグローバルスクリプト扱いになり、 handler.test.ts の 3 引数版 makeEvent 宣言と衝突していた。classroom で #1144 として直したものと同じ構造が admin にも残っていた。 ローカルは ts-jest の温かいキャッシュで隠れており、cold cache の CI で 初めて出た。classroom と同じく export {} を足し、再発防止の回帰テストも 同じ形で置く。走るテストは 54 → 67 件になる。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
🤖 敵対的レビュー(自己レビュー): Must 0 件 / Question 2 件 / FYI 3 件 観点は正確性・セキュリティ・再利用/簡潔性・ 機械的に検査した結果
レビュー中に見つけて直したものCI が既存の壊れを検出した(この PR の主目的そのもの)。 classroom で #1144 を直したのと同じ形( Question(人間の判断が要る)[Question] [Question] スコープを admin まで広げた。 レビュー指摘は classroom のみだったが、admin もまったく同じ状態(ジョブ 0・ FYI(対応不要と判断)[FYI] [FYI] [FYI] ワークフローに DoD 照合
|
|
🚀 Preview deployed: https://smalruby.jp/smalruby3-editor/topic/autopilot-1155/ |
…lot-1155 ci(infra): classroom と admin の CI ジョブを追加する (#1155)
概要
infra/**の変更でワークフローは起動するのに、smalruby-classroomとsmalruby-adminだけ CI ジョブが 1 つも無く素通りしていた。他 4 プロジェクトと同じ 3 ジョブ(Unit Tests / CDK Build & Synth / Security Audit)を追加する。PR #1148 のレビュー指摘(https://github.com/smalruby/smalruby3-editor/pull/1148#issuecomment-5459892852)への対応。指摘は classroom のみだったが、admin もまったく同じ状態だったので同じ形で揃えた。
Closes #1155
変更内容
.github/workflows/ci-infra.ymlinfra/smalruby-classroom/.node-version24.8.0)infra/smalruby-admin/.node-version24.8.0)node-version-file+ npm キャッシュ、working-directory、npm auditはcontinue-on-error: true。.node-versionが無いとnode-version-fileが解決できずジョブが起動しないため、他 4 プロジェクトと同じ24.8.0で追加。CLASSROOM_CUSTOM_DOMAIN/ADMIN_CUSTOM_DOMAINを'false')。検証(CI と同じ手順をローカルで実行)
npm cinpm testnpm run buildnpx cdk synth --context stage=stgnpm testは両プロジェクトともjest.config.jsが*.integration.test.tsを除外しているため、AWS に触る結合テストは走らない(test:integrationは別スクリプトのまま)。レビュー観点(自己レビュー結果は下のコメントに記載)
npm testが結合テストを巻き込まないか人間の確認をお願いしたい点
.github/workflows/への push が bot トークンで通ったこと。.claude/rules/autopilot/prompts.mdとbin/autopilot-pushは「Bot 権限外パス」として個人トークン経路に切り替える前提だが、実際には GitHub App にworkflows権限があるらしい。ルール/ガードの前提が古い可能性があり、別途の判断が必要(本 PR では触っていない)。infra/**を変更した PR のみ)。実行時間・コストの許容可否。