リポジトリをモノレポへ統合したら per-repo の CI・hooks・secret-scan 基盤はルートへ集約する — サブディレクトリの workflow は実行されない
セキュリティ
CI/CD
モノレポ
知識
運用
単一リポジトリ前提の基盤ファイル群をそのままサブディレクトリにコピーしてモノレポを組むと、見た目は揃っていても機能しないものが出る。代表例:
- GitHub Actions: workflow はリポジトリルートの .github/workflows しか読まれない。サブディレクトリ配下に置いた workflow はエラーにもならず黙って実行されない(検知しにくい)。
- git hooks: core.hooksPath はリポジトリに1つしか設定できない。境界ごとの .githooks は片方しか効かない。
- secret scan: 境界単位のスキャン設定だと他境界のコミットが素通しになる。
対処
ルートに .github/workflows・.githooks・ツール管理(mise 等)・ignore 系を集約し、スキャンや hook はリポジトリ全体を対象にする。環境ファイルの権限調整などパス依存のタスクはサブディレクトリパスへ書き換える。集約後は、実際に hook を発火させる(コミットしてスキャンが走ることを見る)・全履歴スキャンを一度回す、で動作を検証する。
検知の観点
モノレポ統合のレビューでは「ファイルが存在するか」ではなく「その仕組みはこの配置で発火するか」を問う。元リポジトリとの1対1ファイル照合だけではこの穴は見つからない(ファイルは同一でも配置が無効)。