Skip to content

Require Codecov coverage reporting for C# and Python projects - #255

Merged
ptr727 merged 1 commit into
developfrom
feature/codecov-required
Jul 7, 2026
Merged

Require Codecov coverage reporting for C# and Python projects#255
ptr727 merged 1 commit into
developfrom
feature/codecov-required

Conversation

@ptr727

@ptr727 ptr727 commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Codifies your rule: C# and Python projects must report coverage to Codecov (best-effort, CODECOV_TOKEN present). Promotes codecov from an opt-in feature to a per-language requirement.

  • project-types.json — new csharp.coverage.codecov + python.coverage.codecov checks.
  • secrets.json — new typeMechanisms (csharp/python -> codecov) so the audit requires the codecov mechanism (CODECOV_TOKEN) for those types; secrets.schema.json gains the property; the top note explains it.
  • WORKFLOW.md D1.6 — the coverage guarantee (best-effort: fail_ci_if_error: false, so a Codecov outage never reds the gate).

The implementation PRs land alongside: PlexCleaner already wired; Utilities #377, LanguageTags #249, NxWitness #490 add the upload step + coverlet + secrets: inherit; aiopurpleair/HA already conformant. jq + validate.py (23 cataloged) + markdownlint + editorconfig-checker all clean.

Copilot AI review requested due to automatic review settings July 7, 2026 15:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Codifies Codecov coverage reporting as a required (best-effort) behavior for C# and Python repositories by extending the workflow contract and the machine-readable spec used for audits/validation.

Changes:

  • Add WORKFLOW.md contract clause D1.6 requiring best-effort coverage upload to Codecov for C# and Python repos with tests.
  • Extend secrets spec to support per-language required mechanisms via typeMechanisms (mapping C# and Python -> Codecov mechanism).
  • Add new project-type checks documenting the expected coverage collection + Codecov upload behavior for C# and Python.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
WORKFLOW.md Adds D1.6 coverage-to-Codecov guarantee for C# and Python (best-effort).
spec/secrets.schema.json Extends the secrets schema with a typeMechanisms property.
spec/secrets.json Documents and defines typeMechanisms mapping for C# and Python to require the Codecov mechanism.
spec/project-types.json Adds new per-type checks describing required Codecov coverage reporting for C# and Python.

Comment thread spec/project-types.json Outdated
Comment thread spec/secrets.schema.json
Promote codecov from an opt-in feature to a per-language requirement:
- project-types.json: add csharp.coverage.codecov and python.coverage.codecov
  checks (tests collect coverage and upload via codecov/codecov-action,
  best-effort; CODECOV_TOKEN present, threaded via secrets: inherit).
- secrets.json: add typeMechanisms (csharp -> codecov, python -> codecov) so
  the audit requires the codecov mechanism for those types, not just when the
  action happens to be present. secrets.schema.json gains the property.
- WORKFLOW.md D1.6: the coverage guarantee.

Best-effort by design (fail_ci_if_error: false), so a Codecov outage or an
absent token never reds the required gate; a missing upload or token is a
conformance finding, not a broken build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 force-pushed the feature/codecov-required branch from 620490f to 60fa907 Compare July 7, 2026 16:12
@ptr727
ptr727 merged commit 993529e into develop Jul 7, 2026
6 checks passed
@ptr727
ptr727 deleted the feature/codecov-required branch July 7, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants