ワークフロー詳細

cognito_cicd.yaml

  • main / develop への push・pull request、および手動実行で起動します。
  • validate ジョブで SAM CLI を導入し、infrastructure/auth/template.yamlsam validate --lint します。
  • deploy ジョブは pull request 以外でのみ動作し、Cognito スタックを sam deploy します。

db_migrate.yaml

  • infrastructure/liquibase_migrate/** の変更を契機に起動します。
  • validate で DSQL 用 SAM テンプレートを検証します。
  • deploy で Aurora DSQL クラスターを作成し、CloudFormation 出力から Endpoint を取得します。
  • migrate で Liquibase OSS を導入し、changelog.xml を使って SQL 変更を適用します。
  • Liquibase 実行時のパスワードは aws dsql generate-db-connect-admin-auth-token で都度生成します。

generate_sea_orm.yaml

  • SQL 変更セット更新時に起動し、最新スキーマから infrastructure/sea_orm/src/entity/ を再生成します。
  • DSQL Endpoint を取得し、認証トークンを URL エンコードした DATABASE_URL を組み立てます。
  • 差分がある場合のみ自動コミットして push します。

api_cicd.yaml

  • API ディレクトリ変更時に起動します。
  • validate では SAM テンプレート検証、cargo checkcargo test を実行します。
  • deploy では cargo-lambda を使える状態で sam build / sam deploy を実行します。
  • デプロイ前にフロントエンドの CloudFront ドメインを参照し、API の AllowedCorsOrigins に注入します。

frontend_cicd.yaml

  • フロントエンド変更時に起動します。
  • validate では npm cinpm run lint、プレースホルダー環境変数付き npm run build を実行します。
  • deploy では S3 + CloudFront スタックをデプロイし、Cognito と API の Export 値を取得して本番ビルドします。
  • ビルド済み frontend/out/ を S3 に同期し、CloudFront キャッシュを無効化します。

document_cicd.yaml

  • 手動実行専用です。
  • Rustdoc と TypeDoc を生成して _output/raw/api_output/raw/frontend にコピーします。
  • llm-wiki/wiki を Honkit でビルドし、_output/raw/wiki にコピーします。
  • その後、Document 用 S3 + CloudFront に _output/ 全体を同期して公開します。

update-wiki.yml

  • 手動実行専用です。
  • GitHub Copilot CLI をインストールし、llm-wiki/AGENTS.md を前提に Wiki 更新タスクを実行します。
  • llm-wiki/wiki/ に差分があれば専用ブランチを切ってコミットし、main 向け pull request を作成します。
  • COPILOT_GITHUB_TOKEN と、PR 作成を許可する Actions 権限設定が必要です。

補足

  • ドキュメント公開と Wiki 更新はどちらも手動起動ですが、前者は成果物配信、後者は原稿更新に責務が分かれています。
  • DB スキーマ変更時は db_migrate.yamlgenerate_sea_orm.yaml の両方を追う必要があります。
  • API / フロントエンド / 認証 / DB は CloudFormation Export を介して疎結合に接続されています。

関連ページ

results matching ""

    No results matching ""