Skip to contents
做了什么
-
CI(.github/workflows/ci.yml + scheduled.yml + dependabot.yml + tools/ci-selfcheck.py):R 矩阵 8 组合(3 OS × release/oldrel-1 + ubuntu × 4.3/devel 允失败,PI 采信”4.3/devel 仅 Linux”的正当偏离);每 R 作业先装 1.71 工具链(R 矩阵兼做三平台 MSRV 复验);rust 作业(test/clippy/deny 四节);guards 作业(Cargo.lock 钉版断言 + check-dep-direction + rng-kat + selfcheck + docs-sync + vendor –check + 仓库模式 devtools::test 全量);msrv 作业(ubuntu+windows × cargo +1.71.0——ADR 0002 §5 残留正式关闭);coverage(codecov 不设门);weekly valgrind + ASAN/UBSAN(sanitizer 仅 engine/catalog 的理由入注释);dependabot ignore matrixmultiply ≥0.3.10 / rayon ≥1.11。ci-selfcheck 57 项静态断言防 workflow 漂移。仓库 remote = WangLabCSU/msuiter(本地无 runner,推送即生效)。
-
治理:CONTRIBUTING(验收电池/引擎接入清单/extendr-api 升级检查单/fixture 刷新协议/钉版纪律)、CoC 2.1、PR 模板 6 检查项(ffi-surface 冻结协议逐字呼应)、issue 模板、NEWS.md、_pkgdown.yml、README 现状更新(“implementation in progress”)。
审核裁决与修复(1 轮 REVISE → 条件转 PASS)
-
P1(CI 首跑必红):
check-r-package@v2 默认 error_on=warning,而 –as-cran 实测 2 WARNING——①LICENSE not mentioned(审核员实测:干净形式在 –as-cran 下升级为 WARNING,推翻 M0-01 的”两写法打平”裁决)→ DESCRIPTION 换 Apache License (>= 2.0) + file LICENSE(restrictions NOTE 为新基线);②R 作业无 vendor tarball 触发下载告警 → guards 作业生成 vendor.tar.xz artifact、R 作业统一消费(单生成点 + Windows 首测 CRAN 离线模式)。error_on 裁决为 error:–as-cran 严格性依赖 runner 不齐备的可选工具(checkbashisms)且必然提示”New submission”,硬门禁由 guards + scheduled 承担(已注释成文)。
-
PI 自查追加:vendor.sh 的 tar 精确匹配在 Linux GNU tar vs macOS bsdtar 下必假红 → tar 口径改 ±0.5% 容差带(未压缩数仍精确——依赖集真不变量),xz ±0.1% 不变。
-
P2 已修:三 ffi helper 孤儿 Rd(@noRd);bench/g0/cache 隐藏文件进 tarball(R CMD build 不认 .gitignore)→
^bench$ 排除。check 基线回到 0 error/0 warning/1 NOTE(–as-cran 下 1 WARNING=checkbashisms 环境项 + 2 NOTE=New submission/restrictions,均已定性)。
遗留
- CODECOV_TOKEN secret 未设(上传静默跳过);Rust 覆盖率未接线;R≥85% 门后置。
- 本地无法真跑 Actions;首推后按 ci-selfcheck + 本日志核对。
- checkbashisms TinyTeX 类环境 NOTE 的长期归口 = M8 发布工程(rhub/win-builder 预提交时统一处理)。