Skip to content

ci: GitHub Actions CI + mutants 门禁 + 开源规范 - #17

Open
dynamder wants to merge 2 commits into
devfrom
ci/setup
Open

ci: GitHub Actions CI + mutants 门禁 + 开源规范#17
dynamder wants to merge 2 commits into
devfrom
ci/setup

Conversation

@dynamder

@dynamder dynamder commented Aug 9, 2026

Copy link
Copy Markdown
Owner

摘要

为项目接入 GitHub Actions CI 与开源仓库规范,基座为 dev 分支。

变更内容

  • CI 工作流.github/workflows/ci.yml):push/PR 触发 Windows/Ubuntu/macOS 三平台 cargo build --workspace --all-targets + cargo test --workspace;fmt/clippy -D warnings 与 cargo-deny 审计(Ubuntu)。
  • Mutants 工作流.github/workflows/mutants.yml):PR 按 diff 范围运行 cargo mutants --in-diff,每周(每隔一周、ISO 奇数周周一)全量运行;统一用 scripts/mutants_gate.py 以杀灭率 ≥90% 门禁并上传报告。
  • 源码调整
    • qwen3 大模型测试与 3 个真实 LLM 滑动窗口测试加 #[ignore](CI 默认只跑 bge-small-zh 模型测试)。
    • clippy/fmt 清理到双零;修复 ppr_toy_graph_init_ab 浮点断言(单向 → 双向容差 1e-6)与 test_access_time_span 秒级截断抖动。
    • 新增 5 个针对性测试(partial_cmp、config getters、add_node、refresh_node、离线 pop),并新增 MemoryNote::links_mut
  • 依赖安全rust-toolchain.toml、Dependabot(cargo + github-actions)、deny.toml、各 crate 补 license = "MIT"
  • 社区规范:CONTRIBUTING / SECURITY / CODE_OF_CONDUCT、Issue + PR 模板、README 徽章与开发说明。

验证

  • 本地:fmt、clippy -D warningscargo test --workspace 全绿。
  • 本地 act(nektos/act):mutants-pr 工作流端到端跑通,Python 门禁输出 kill_rate=100.0% >= 90%. PASS(upload-artifact 在 act 下缺 ACTIONS_RUNTIME_TOKEN 为 act 已知限制,GitHub 上正常)。
  • 本地真实 PR diff 范围 mutants:100 变异,24 击杀、0 存活、0 超时,杀灭率 100%。

注意事项

  • dev 当前测试套件全量 mutants 尚未达到 90%(基础设施运算符如 OrdFloat Add/Sub 等缺少测试),每周全量任务初期可能报失败;feature/test_framework 分支已含大量对应测试,合入后可显著改善。
  • 合并后请在 main 分支保护中加入必检项(test 矩阵、quality、security、mutants-pr)。

- 3-OS build+test on push/PR, fmt/clippy -D warnings and cargo-deny gates
- weekly (biweekly) full cargo-mutants + PR diff-scoped mutants, >=90% kill-rate gate via scripts/mutants_gate.py
- rust-toolchain.toml, dependabot, deny.toml, license fields, .gitignore hygiene
- CONTRIBUTING/SECURITY/CODE_OF_CONDUCT, issue/PR templates, README badges
- #[ignore] qwen3 model test and live-LLM sliding-window test; clippy cleanup
@dynamder
dynamder requested review from Ron-yc and seeelee August 9, 2026 07:06
…ed spin

- allow NCSA and CDLA-Permissive-2.0 licenses (transitive via rav1e/webpki-roots)
- scope unmaintained advisories to none (transitive deps pinned by embed_anything 0.6.7, no safe upgrade); vulnerabilities stay denied
- document and ignore 4 unfixable transitive vulnerabilities (lopdf, rustls-webpki) until embed_anything upgrade
- cargo update -p spin 0.10.0 -> 0.10.1 (un-yank)
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.

1 participant