summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-08-12 21:22:12 +0300
committerYuriy Andamasov <yuriy@vyos.io>2026-08-12 21:22:12 +0300
commitdf84388ab71239e392837a548a3e1c4d54c4c5de (patch)
treecd76aca9497b744376384d819a9eb87133c19f09 /README.md
parente696fc296fb70c8e5db008b672905c745d7c09c9 (diff)
downloadcodecov-df84388ab71239e392837a548a3e1c4d54c4c5de.tar.gz
codecov-df84388ab71239e392837a548a3e1c4d54c4c5de.zip
seed: initial Codecov Global YAML + plumbing
Bootstrap content for the vyos org Codecov Global YAML mirror. codecov.yml is the comment-free dashboard-paste payload (Codecov strips comments on save); validate.yml gates all PRs against https://codecov.io/validate. AGENTS.md + README.md document the dashboard-paste protocol and language-applicability caveats. Companion repo: VyOS-Networks/codecov (filed Wave 2, ~1 week soak). Spec: [VYOS/894337074](https://vyos.atlassian.net/wiki/spaces/VYOS/pages/894337074) Phorge: T9078 IS: IS-609 ๐Ÿค– Generated by [robots](https://vyos.io)
Diffstat (limited to 'README.md')
-rw-r--r--README.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9b91370
--- /dev/null
+++ b/README.md
@@ -0,0 +1,56 @@
+# vyos/codecov
+
+Codecov Global YAML for the `vyos` GitHub organization.
+
+This repo is the canonical source for the file rendered at
+[`https://app.codecov.io/account/gh/vyos/yaml`](https://app.codecov.io/account/gh/vyos/yaml).
+The dashboard is a cache; this repo's `production` branch is the source of truth.
+
+Sibling repo: [VyOS-Networks/codecov](https://github.com/VyOS-Networks/codecov) for the
+VyOS-Networks org. Both repos hold byte-identical `codecov.yml` at design time; any future
+delta is enumerated in the per-org delta table below โ€” never as comments in `codecov.yml`
+(Codecov strips them on dashboard save).
+
+## Change protocol
+
+1. PRs only. No direct dashboard edits.
+2. PRs run the `validate` workflow which POSTs `codecov.yml` to
+ `https://codecov.io/validate`. The check must pass.
+3. After merge to `production`:
+ ```bash
+ gh api repos/vyos/codecov/contents/codecov.yml?ref=production \
+ --jq '.content' | base64 -d
+ ```
+ Operator pastes this content into the dashboard editor (linked above), saves,
+ and re-opens the tab to confirm the saved content matches.
+
+## Paste protocol (operator)
+
+1. Open https://app.codecov.io/account/gh/vyos/yaml in browser.
+2. Fetch the merged file via `gh api ... | base64 -d` (above).
+3. Paste into the dashboard editor.
+4. Save.
+5. Re-open the dashboard tab. **Codecov strips comments** โ€” the saved content
+ should match the paste content because the file is comment-free.
+6. Capture the Codecov change-history audit-log row (timestamp, user, prior version)
+ to the IS ticket as evidence.
+7. Record merge commit SHA + paste timestamp + audit-log reference in the IS ticket.
+
+## Per-org delta (vyos vs VyOS-Networks)
+
+(none at the time of last update โ€” both orgs paste byte-identical `codecov.yml`)
+
+## Language-applicability caveat
+
+The numeric thresholds (`project.threshold: 1%`, `patch.target: 70%`, `patch.threshold: 5%`)
+and the `ignore` patterns (`**/*.config.{ts,js,mjs,cjs}`, `**/*.d.ts`, `.next/`, `public/`)
+are Next.js-derived from the canary in [VyOS-Networks/next-js-vyos](https://github.com/VyOS-Networks/next-js-vyos).
+They are reasonable starting points for JS/TS repos and harmless for non-JS repos (the
+`ignore` patterns simply don't match Python/C++/Ansible paths and the thresholds apply to
+whatever does upload coverage). Repos in other languages that opt into Codecov should
+override numerics in their per-repo `.codecov.yml`.
+
+## Onboarding a new repo to Codecov coverage
+
+(deferred โ€” see spec ยง9 follow-up; the playbook lives in `docs/per-repo-onboarding.md` once
+the first non-canary opt-in lands)