@growi/app GA リリースシーケンス

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

参考

@growi/app RC リリースシーケンス

  1. rc/* ブランチを作成して Push することで、GitHub Actions workflow がトリガーされる
  2. @growi/app GA リリースシーケンス と同様の以下の処理が走る
    1. コンテナイメージのビルド
    2. マルチアーキテクチャ対応の manifest の作成と Push

Footnotes

  1. aws-actions/aws-codebuild-run-build external_link では sourceVersion の上書きができない
    =>https://github.com/aws-actions/aws-codebuild-run-build/issues/61#issuecomment-1186217833 external_link