Spec
ADDED Requirements¶
Requirement: Docs deployment workflow supports explicit execution modes¶
ドキュメント配信ワークフローは、preview実行とproduction実行を明示的に識別できなければならない(SHALL)。各モードは実行条件と実行ステップを分離して定義しなければならない(SHALL)。
Scenario: Pull Requestではpreviewモードのみ実行される¶
- WHEN ドキュメント関連変更を含むPull Requestが作成または更新される
- THEN preview向けのビルドと配信のみが実行され、production向け処理は実行されない
Scenario: mainへのpushでproductionモードが実行される¶
- WHEN mainブランチへのpushが発生する
- THEN production向けビルドと配信処理が実行される
Requirement: Docs deployment trigger conditions are optimized¶
ドキュメント配信ワークフローは、ドキュメント配信に関係するファイル変更時のみ自動実行されなければならない(SHALL)。対象外変更では実行してはならない(SHALL NOT)。
Scenario: docs配下の変更でワークフローが発火する¶
- WHEN
docs/**配下のファイルが変更される - THEN ドキュメント配信ワークフローが発火する
Scenario: アプリコードのみ変更時にドキュメント配信が発火しない¶
- WHEN
src/**のみが変更され、ドキュメント配信対象ファイルに変更がない - THEN ドキュメント配信ワークフローは発火しない
Scenario: 手動実行トリガーが存在しない¶
- WHEN ドキュメント配信ワークフローのトリガー定義を確認する
- THEN
workflow_dispatchは定義されていない
Requirement: Docs deployment reuses shared setup contract¶
ドキュメント配信ワークフローでNode.js、pnpm、uvのセットアップを行う場合、共通化されたセットアップ契約を再利用しなければならない(SHALL)。
Scenario: ドキュメント配信が共通セットアップを参照する¶
- WHEN ドキュメント配信ワークフローのセットアップ手順を確認する
- THEN Node.js、pnpm、uvの準備は共通化された定義を利用している
Scenario: 共通セットアップ変更がドキュメント配信にも反映される¶
- WHEN 共通セットアップ定義を更新する
- THEN ドキュメント配信ワークフローにも同じ更新内容が反映される
Requirement: Docs deployment runs textlint first and fails fast¶
ドキュメント配信ワークフローは、ビルドやデプロイの前に pnpm run lint:text を実行しなければならない(SHALL)。textlintが失敗した場合、後続ステップを実行せずに中断しなければならない(SHALL)。
Scenario: ドキュメント配信の冒頭でtextlintが実行される¶
- WHEN ドキュメント配信ワークフローが開始される
- THEN サイトビルドより前に
pnpm run lint:textが実行される
Scenario: textlint失敗時にビルドとデプロイが実行されない¶
- WHEN
pnpm run lint:textがエラーで終了する - THEN サイトビルドとデプロイの後続ステップは実行されず、ワークフローは失敗として終了する