コンテンツにスキップ

Tasks

1. アプリ配信フロー再編

  • [x] 1.1 deploy.yml から lint/test/build のCI責務を独立した ci-workflow へ分離し、デプロイ/クリーンアップ処理を除外する
  • [x] 1.2 アプリデプロイを app-deployment として再編し、pull_request: maindevpush: mainprod を同一実体で分岐する
  • [x] 1.3 アプリデプロイ前に対象refの ci-workflow 成功を検証するゲートを実装する
  • [x] 1.4 Storage Account への配信ステップ(az storage blob upload-batch)をdev/prodで共通化し、Environment差分のみ残す
  • [x] 1.5 PR向けE2Eの実行条件をアプリdevデプロイ後に限定し、main pushでは実行しない

2. ドキュメント配信最適化

  • [x] 2.1 deploy-site.yml のトリガーを pull_request: main / push: main + docs関連pathsに限定する
  • [x] 2.2 docs-site-deployment 冒頭で pnpm run lint:text を実行し、失敗時に後続build/deployを中断させる
  • [x] 2.3 preview/production分岐を1ワークフロー内で整理し、PRはpreview配信、main pushはproduction配信に固定する
  • [x] 2.4 個別 textlint-workflow を削除し、重複実行が発生しないことを確認する
  • [x] 2.5 docs手動実行(workflow_dispatch)を削除し、自動トリガーのみで運用する

3. プレビュークリーンアップ強化

  • [x] 3.1 close-preview.ymlpull_request_target: closed のみに限定する
  • [x] 3.2 プレビューがすでに不存在でも失敗停止しない冪等クローズ手順を実装する
  • [x] 3.3 permissionsを最小権限に調整し、不要な書き込み権限を排除する

4. 共通セットアップと実行制御

  • [x] 4.1 Node.js/pnpm/uvセットアップをCI・アプリ配信・docs配信で再利用できる共通定義(Reusable Workflow または Composite Action)に切り出す
  • [x] 4.2 各ワークフローのconcurrencyを用途別(CI:最新優先、デプロイ:整合性優先、クリーンアップ:冪等優先)に設定する
  • [x] 4.3 パスフィルター対象にワークフロー定義変更を含め、実行漏れ/過剰実行を抑制する

5. 検証と運用文書更新

  • [x] 5.1 openspec validate optimize-github-actions-workflows --type change を実行し、差分仕様の整合を確認する
  • [ ] 5.2 PRで pull_request: mainpush: main の実行経路(CI→app-deployment / docs-site-deployment)をログで確認する 補足:5.2 はこのブランチのPR作成後に GitHub Actions 実行ログで確認する。
  • [x] 5.3 運用ドキュメントに最終トリガー対応表とCIゲート条件を追記する