feat(ci): T10.2 codecov 集成 + 覆盖率徽章配置
完成 v2.1 实施计划 T10.2: codecov 集成与覆盖率徽章。 变更: - .github/workflows/ci.yml: 新增 'Upload coverage to Codecov' 步骤 - codecov/codecov-action@v4 (锁 major) - 3.11 单点上传,flag=python-3.11(避免矩阵多份报告冲突) - fail_ci_if_error: false(codecov 不可达不阻断 CI) - 不设 token: public repo 匿名上传即可 - codecov.yml: 配置文件 - project target 60% / threshold 1% (与 T5.5 整体门槛对齐) - core (skills/gaokao-spec-checker + gaokao-college-advisor) target 80% / threshold 2% - patch target 70% / threshold 5% - ignore docs/tests/rules/scripts/gaokao-shortlink (非生产代码) - require_ci_to_pass: false (CI 失败不阻塞 codecov 上传) 本地验证: - pytest 136/136 通过 (T7 修复后 test_route_short_link 已恢复) - 整体覆盖率 59.55% (line-rate=0.5955, 2126/1266 lines) - coverage.xml 是合法 Cobertura XML (codecov-action 可消费) - ci.yml/codecov.yml YAML schema 解析通过 未在本任务范围: T5.5 --cov-fail-under 硬门槛启用、scripts/* 0% 覆盖率补齐、 core 模块 (gaokao-spec-checker 72%, 距 80% 差 8%) 补齐。
This commit is contained in:
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
@@ -78,6 +78,21 @@ jobs:
|
||||
path: coverage.xml
|
||||
retention-days: 7
|
||||
|
||||
# T10.2: 上传 coverage.xml 到 codecov 渲染覆盖率徽章
|
||||
# 关键决策:
|
||||
# - 仅在 3.11 单点上传:避免多份报告名冲突(codecov 按文件名合并)
|
||||
# - fail_ci_if_error: false: codecov 不可达时不影响 CI 通过(与个人项目 + 多镜像
|
||||
# 仓库场景匹配;tksea/gitea 不被 codecov 官方支持,无 token 时仍能上传但不写 status)
|
||||
# - 不设 token: public repo 可匿名上传;徽章正常渲染
|
||||
- name: Upload coverage to Codecov
|
||||
if: matrix.python-version == '3.11' && hashFiles('coverage.xml') != ''
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
file: coverage.xml
|
||||
flags: python-3.11
|
||||
fail_ci_if_error: false
|
||||
verbose: false
|
||||
|
||||
- name: Test summary
|
||||
if: always()
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user