codecov.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. # Codecov configuration for Terminal.Gui
  2. # Documentation: https://docs.codecov.com/docs/codecov-yaml
  3. # Coverage targets and thresholds
  4. coverage:
  5. precision: 2
  6. round: down
  7. range: "60...90" # Yellow between 60-90%, green above 90%
  8. status:
  9. # Overall project coverage
  10. project:
  11. default:
  12. target: 75% # Minimum target coverage
  13. threshold: 1% # Allow 1% decrease without failing
  14. base: auto # Compare against base branch (v2_develop)
  15. if_ci_failed: error # Fail if CI fails
  16. # Only measure Terminal.Gui library
  17. paths:
  18. - "Terminal.Gui/"
  19. branches:
  20. - v2_develop
  21. - v2_release
  22. # Per-patch (PR) coverage
  23. patch:
  24. default:
  25. target: 70% # New code should have 70%+ coverage
  26. threshold: 5% # Allow 5% variance
  27. base: auto
  28. if_ci_failed: error
  29. # Only measure Terminal.Gui library
  30. paths:
  31. - "Terminal.Gui/"
  32. # Comment configuration for PRs
  33. comment:
  34. layout: "diff, files, footer"
  35. behavior: default # Update existing comment
  36. require_changes: false # Always comment
  37. require_base: true # Require base coverage to compare
  38. require_head: true # Require head coverage
  39. # Flag-based coverage grouping (matches your workflow flags)
  40. flags:
  41. unittests-nonparallel:
  42. carryforward: false # Don't carry forward if missing
  43. paths:
  44. - "Terminal.Gui/" # Only Terminal.Gui library
  45. unittests-parallel:
  46. carryforward: false
  47. paths:
  48. - "Terminal.Gui/" # Only Terminal.Gui library
  49. integrationtests:
  50. carryforward: false
  51. paths:
  52. - "Terminal.Gui/" # Only Terminal.Gui library
  53. # Files and paths to ignore (belt-and-suspenders approach)
  54. ignore:
  55. - "Examples/**" # Example projects (no trailing /*)
  56. - "Tests/**" # Test projects themselves
  57. - "UnitTests/**" # Legacy test location
  58. - "docfx/**" # Documentation
  59. - "Scripts/**" # PowerShell scripts
  60. - "**/*.Designer.cs" # Auto-generated files
  61. - "**/obj/**" # Build artifacts
  62. - "**/bin/**" # Build artifacts
  63. - "**/*.AssemblyInfo.cs" # Assembly info files