ワークフロー詳細
cognito_cicd.yaml
main / develop への push・pull request、および手動実行で起動します。
validate ジョブで SAM CLI を導入し、infrastructure/auth/template.yaml を sam 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 check、cargo test を実行します。
deploy では cargo-lambda を使える状態で sam build / sam deploy を実行します。
- デプロイ前にフロントエンドの CloudFront ドメインを参照し、API の
AllowedCorsOrigins に注入します。
frontend_cicd.yaml
- フロントエンド変更時に起動します。
validate では npm ci、npm 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.yaml と generate_sea_orm.yaml の両方を追う必要があります。
- API / フロントエンド / 認証 / DB は CloudFormation Export を介して疎結合に接続されています。
関連ページ