用途:在 GitHub 仓库中配置 CI/CD,当源码变更时自动重新生成 putior 工作流图,让文档始终反映代码现状。适用于已有 putior 注解、希望自动化更新文档、多人协作改动工作流相关代码的项目。
主要能力:通过 GitHub Actions 工作流在 push 到指定分支和路径时触发;用 R 脚本扫描源码注解、生成 Mermaid 图,并替换目标文件中哨兵标记之间的内容;支持配置主题(默认 github)、扫描目录(默认 ./R/ 或 ./src/)、触发分支(默认 main);仅在内容变化时提交,避免空提交。
使用方式:1) 创建 .github/workflows/update-workflow-diagram.yml,设置 permissions: contents: write,并用 if: github.actor != 'github-actions[bot]' 防止循环;2) 编写 scripts/generate-workflow-diagram.R,调用 put_merge() 与 put_diagram(),用 <!-- PUTIOR-WORKFLOW-START --> 和 <!-- PUTIOR-WORKFLOW-END --> 标记替换内容;3) 在 README 等目标文件插入哨兵标记;4) 推送后用 gh run watch 验证。
限制与注意:推送需写权限,否则报 permission denied;哨兵标记须独占一行且无多余空白;R 脚本路径相对仓库根目录;若用 renv 需先 renv::restore();大仓库应限制 paths 触发范围;[skip ci] 仅为约定,非 GitHub Actions 内置机制。