ec-cube
ec-cube copied to clipboard
PHPバージョンごとに Docker イメージを作成する
概要(Overview・Refs Issue)
PHPバージョンごとに Docker イメージを作成し、 GitHub Container registry に push する。 例) https://github.com/nanasess/ec-cube/pkgs/container/ec-cube
方針(Policy)
以下のようなルールでタグを作成します
Event | Ref | Docker Tags |
---|---|---|
pull_request |
refs/pull/2/merge |
pr-2-php-<php-version>-apache |
push |
refs/heads/4.2 |
4.2-php-<php-version>-apache |
push tag |
refs/tags/4.2.0 |
4.2.0-php-<php-version>-apache , latest |
push tag |
refs/tags/4.2.0-beta2-20220905 |
4.2.0-beta2-20220905-php-<php-version>-apache |
実装に関する補足(Appendix)
docker-compose.yml で image: ghcr.io/EC-CUBE/ec-cube:4.2-php-8.1-apache
のように指定することで、本PRにて生成された Docker イメージを使用することができます。
~~本PRがマージされた後、 docker-compose.yml を変更する PR を作成します~~ image: の値を環境変数に設定することで対応しました
テスト(Test)
個人レポジトリで Docker イメージが生成されるのを確認 https://github.com/nanasess/ec-cube/pkgs/container/ec-cube
相談(Discussion)
- ~~docker compose build の後、E2Eテストが正常に通ることを確認してから
docker/build-push-action
でイメージを push しているが、再ビルドされてしまう。 docker compose build した内容を再利用できないか?~~ こちら の手順を導入して対応 - #4754 のようにランタイム向けのイメージと開発環境向けのイメージを分けたい
マイナーバージョン互換性保持のための制限事項チェックリスト
- [ ] 既存機能の仕様変更はありません
- [ ] フックポイントの呼び出しタイミングの変更はありません
- [ ] フックポイントのパラメータの削除・データ型の変更はありません
- [ ] twigファイルに渡しているパラメータの削除・データ型の変更はありません
- [ ] Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
- [ ] 入出力ファイル(CSVなど)のフォーマット変更はありません
レビュワー確認項目
- [ ] 動作確認
- [ ] コードレビュー
- [ ] E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
- [ ] 互換性が保持されているか
- [ ] セキュリティ上の問題がないか
- [ ] 権限を超えた操作が可能にならないか
- [ ] 不要なファイルアップロードがないか
- [ ] 外部へ公開されるファイルや機能の追加ではないか
- [ ] テンプレートでのエスケープ漏れがないか
以下の設定が必要そう https://docs.github.com/ja/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#organization%E3%81%8C%E6%89%80%E6%9C%89%E3%81%99%E3%82%8B%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%B8%E3%81%AEgithub-actions%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9
Codecov Report
Merging #5801 (41fe91d) into 4.2 (2141a4b) will increase coverage by
0.01%
. The diff coverage isn/a
.
@@ Coverage Diff @@
## 4.2 #5801 +/- ##
============================================
+ Coverage 78.74% 78.76% +0.01%
- Complexity 6287 6288 +1
============================================
Files 470 470
Lines 21096 21098 +2
============================================
+ Hits 16612 16617 +5
+ Misses 4484 4481 -3
Flag | Coverage Δ | |
---|---|---|
E2E | 64.77% <ø> (+<0.01%) |
:arrow_up: |
Unit | 77.78% <ø> (+0.01%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
Impacted Files | Coverage Δ | |
---|---|---|
src/Eccube/Repository/OrderRepository.php | 95.26% <0.00%> (ø) |
|
src/Eccube/Form/Type/Front/ContactType.php | 100.00% <0.00%> (ø) |
|
src/Eccube/Repository/ProductRepository.php | 97.71% <0.00%> (ø) |
|
src/Eccube/Repository/CustomerRepository.php | 98.72% <0.00%> (ø) |
|
src/Eccube/Service/PluginApiService.php | 54.62% <0.00%> (+0.92%) |
:arrow_up: |
.../Eccube/Doctrine/Common/CsvDataFixtures/Loader.php | 80.00% <0.00%> (+5.00%) |
:arrow_up: |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
https://github.com/actions/runner/issues/1039 ~~デフォルトブランチからでないとイメージを push できないっぽい?~~ デフォルトブランチにマージされた場合のみ、 push するよう変更しました。