Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Codecov によるコードカバレッジを追加 #4943

Merged
merged 6 commits into from
Mar 5, 2021

Conversation

nanasess
Copy link
Contributor

@nanasess nanasess commented Mar 2, 2021

概要(Overview・Refs Issue)

従来、 Coveralls でカバレッジを計測していたが、 Travis 渋滞が発生するため活用されていない。
最近は Codecov.io が主流になってきているようなので、 Codecov によるカバレッジを追加する

方針(Policy)

  • phpdbg で PHPUnit を実行し、カバレッジレポートを出力する
  • カバレッジレポートを codecov へアップロードする
  • 既存のテストとは並列実行するため、渋滞は発生しにくい

実装に関する補足(Appendix)

  • 大量のメモリを消費するため、 -dmemory_limit=-1 を付与する
  • PHPUnit を実行する場合は continue-on-error: true を付与して、テストがエラーになっても無視する
  • キャッシュクリアを伴うテストはメモリリークが発生するため実行しない

テスト(Test)

個人リポジトリでカバレッジ計測できるのを確認 https://codecov.io/gh/nanasess/ec-cube/tree/816bc627cb4307de3105ac3a11f8634d49ceb090/src/Eccube

相談(Discussion)

  • 分割したカバレッジレポートの XML ファイルも簡単に統合してくれるので、 E2Eテストのカバレッジレポートも統合したい

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更
  • フックポイントの呼び出しタイミングの変更
  • フックポイントのパラメータの削除・データ型の変更
  • twigファイルに渡しているパラメータの削除・データ型の変更
  • Serviceクラスの公開関数の、引数の削除・データ型の変更
  • 入出力ファイル(CSVなど)のフォーマット変更

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか

@codecov-io
Copy link

codecov-io commented Mar 2, 2021

Codecov Report

❗ No coverage uploaded for pull request base (4.0@76e63a7). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@          Coverage Diff           @@
##             4.0    #4943   +/-   ##
======================================
  Coverage       ?   76.14%           
  Complexity     ?     6105           
======================================
  Files          ?      437           
  Lines          ?    20697           
  Branches       ?        0           
======================================
  Hits           ?    15759           
  Misses         ?     4938           
  Partials       ?        0           
Flag Coverage Δ Complexity Δ
tests 76.14% <0.00%> (?) 0.00% <0.00%> (?%)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 76e63a7...886aff7. Read the comment docs.

@okazy okazy added the improvement 機能改善 label Mar 2, 2021
@okazy okazy added this to the 4.0.x milestone Mar 2, 2021
@okazy
Copy link
Contributor

okazy commented Mar 2, 2021

個人リポジトリでテスト中
okazy#70

バッジの表示は unknown ですがマージされてデータができれば問題ないかと思います。

image

@okazy
Copy link
Contributor

okazy commented Mar 4, 2021

個人リポジトリにて動作を確認しました。
カバレッジを確認できました。
コードレベルでも視覚的に確認が可能でわかりやすいです。

image

image

バッジの表示は unknown の謎は解明できず
GitHub Actions の場合は Upload Token いらないみたいなのでよくわかりません。
マージして unknown のままならまた改善します。

@okazy
Copy link
Contributor

okazy commented Mar 4, 2021

GitHub Actions の設定はこちらで確認しました。
https://github.com/codecov/codecov-action

@okazy
Copy link
Contributor

okazy commented Mar 4, 2021

出ました!
デフォルトブランチの設定が関係していたようです。

image

https://app.codecov.io/gh/okazy/ec-cube

@okazy okazy merged commit cb0b554 into EC-CUBE:4.0 Mar 5, 2021
@okazy
Copy link
Contributor

okazy commented Mar 5, 2021

ありがとうございます!マージしました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants