# 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/runner/ - src/social_auth/ - static/app/routes.tsx - static/app/**/*.stories.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 # Prevents the upload with this flag from being copied accross commits carryforward: false # 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 # Show only the git diff / patch coverage, and exclude any comparison between base and head: layout: 'condensed_header, condensed_files, condensed_footer' hide_project_coverage: true # Update, if exists. Otherwise post new. Skip if deleted. behavior: once # 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 require_bundle_changes: True # only post a comment when there are bundle size changes bundle_change_threshold: '10Kb' 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'