@growi/app GA リリースシーケンス
release/current
またはrelease/*.*.*
ブランチにリリース対象ソースを含んだ PR がマージされ、 GitHub Actions workflow がトリガーされる- create-github-release
- コミット前準備
- bump version
- 各プロジェクトの
version
script 実行により、package.json が更新される
- 各プロジェクトの
- CHANGELOG.md, README.md 更新
- bump version
- Commit、タグ付け
- GitHub Release 作成
- コミット前準備
- build-image
- aws-actions/configure-aws-credentials external_link により、OIDC を用いて
GitHubOIDC-for-growi
ロールが assume される - dark-mechanicum/aws-codebuild external_link により、
growi-official-image-builder
をトリガー 1- create-github-release で付けたタグを
sourceVersion
で指定 - その他、platform や push 先 registry に応じた値を渡す
- create-github-release で付けたタグを
- ../公式イメージビルダー でコンテナイメージをビルド
- matrix で対象プラットフォーム (amd64 or arm64) を分けている
- docker.io に Push
- aws-actions/configure-aws-credentials external_link により、OIDC を用いて
- determine-tags
- package.json からリリース時に付ける全てのタグを作成
- publish-app-image
- マルチアーキテクチャに対応させるため、Push 済みのイメージの manifest から新規に manifest からを作成し docker.io に Push
参考
- CodeBuildでマルチアーキテクチャなDockerイメージを高速にビルドする external_link
- この記事では CodeBuild のバッチビルドを利用して manifest の作成と Push まで行っているが、GitHub Actions からはバッチビルドをキックすることができないので、一連のシーケンスは GitHub Actions で管理している
@growi/app RC リリースシーケンス
rc/*
ブランチを作成して Push することで、GitHub Actions workflow がトリガーされる- @growi/app GA リリースシーケンス と同様の以下の処理が走る
- コンテナイメージのビルド
- マルチアーキテクチャ対応の manifest の作成と Push