# Setting coverage targets per flag coverage: status: project: false patch: frontend: # codecov will not fail status checks for master only_pulls: true informational: false # Fail the check target: 60% flags: - frontend backend: # codecov will not fail status checks for master only_pulls: true informational: false # Fail the check target: 90% flags: - backend ignore: - src/*/migrations/ - src/bitfield/ - src/sentry/debug/ - src/sentry/lint/ - src/sentry/runner/ - src/social_auth/ - static/app/routes.tsx - tests/ component_management: individual_components: # Profiling team components - component_id: "profiling_views" name: "Profiling Views" paths: - "static/app/views/profiling/**" - component_id: "profiling_components" name: "Profiling Components" paths: - "src/sentry/static/sentry/app/components/profiling/**" - component_id: "profiling_utils" name: "Profiling Utils" paths: - "src/sentry/static/sentry/app/utils/profiling/**" flags: frontend: paths: - "static/app/" carryforward: true # FE uploads 4 coverage reports. This property ensures codecov waits # for all reports to be uploaded before creating a GitHub status check. # NOTE: If you change this, make sure to change `comment.after_n_builds` below as well. after_n_builds: 4 backend: paths: - "src/sentry/**/*.py" carryforward: true # Do not send any status checks until n coverage reports are uploaded. # NOTE: If you change this, make sure to change `comment.after_n_builds` below as well. after_n_builds: 18 # https://docs.codecov.com/docs/flags#two-approaches-to-flag-management flag_management: individual_flags: - name: smart-tests carryforward: true # https://docs.codecov.com/docs/getting-started-with-ats#step-2-configure-the-codecovyml-for-automated-test-selection carryforward_mode: "labels" statuses: # https://github.com/codecov/shared/blob/main/shared/validation/user_schema.py#L310 - type: "patch" only_pulls: true # Read more here: https://docs.codecov.com/docs/pull-request-comments comment: # This is the addition of carry forward builds and fresh builds, thus, it's the addition # of the FE and BE builds after_n_builds: 22 layout: "diff, files" # Update, if comment exists. Otherwise post new. behavior: default # Comments will only post when coverage changes. Furthermore, if a comment # already exists, and a newer commit results in no coverage change for the # entire pull, the comment will be deleted. require_changes: true require_base: true # must have a base report to post require_head: true # must have a head report to post cli: # This would be used when uploading the ats results # But we will not be doing that yet plugins: pycoverage: report_type: "json" compress-pycoverage: file_to_compress: ".artifacts/python.coverage.json" # We don't want to upload the original coverage report by accident # Because it's too big delete_uncompressed: true runners: pytest: # Same args used for the backend tests # See Makefile:135 collect_tests_options: - "tests" - "--ignore=tests/acceptance" - "--ignore=tests/apidocs" - "--ignore=tests/js" - "--ignore=tests/tools"