Add preview-and-apply workflow commands with digest confirmation, project boundary checks, and MCP/Tauri projections. Sync onboarding capability packs and Codex skill guidance. Feature-Confirmed: true Rules-Applied: R01,R02,R06,R07,R12,R13
4.2 KiB
4.2 KiB
| id | name | status | progress |
|---|---|---|---|
| cicd-workflow | CI/CD 工作流 | done | 100 |
概述
CI/CD 配置管理和 GitHub Actions Workflow 文件生成。支持两种部署类型:Web SSH 部署和 Tauri OSS 分发。 完整部署教程见 docs/tauri-cicd-guide.md。
✅ 改造完成(2026-07-02):generate_workflow 已产出 Gitea Actions 模板(.gitea/workflows/), 炼境自身发版链路经本机 act_runner 实测跑通(v0.1.16 上线 OSS,见 gitea-integration R0 复盘)。 「Actions 运行历史」待 PR/CI 事件联动落地后按 Gitea 事实源重建(concept 卡在 gitea-integration)。
本机 CI runner 速查(2026-09-11 自 Claude 私有记忆回流;CI 排障先读这里)
- 拓扑:公网 Gitea + 内网本机 runner(出站拉任务,无需入站)
- 安装位置:
C:\Users\yangzhixiang\act_runner\(act_runner.exe v0.2.13 + config.yaml + .runner + runner.log) - 注册身份:
lianjing-win,标签windows:host(host 模式,直接用本机工具链) - 关键配置(config.yaml):
docker_host: "-"+labels: ["windows:host"]——默认生成的 docker labels 会导致 daemon 拒启 - 启动:
act_runner.exe daemon -c config.yaml;开机自启靠启动文件夹act_runner.vbs(隐藏窗口,日志追加 runner.log) - 排障:日志级别 trace 时 step 输出全落 runner.log,可直接定位构建失败;工作目录
C:/Users/yangzhixiang/act_runner/work - Gitea 1.22.6 无
/actions/runsREST API:查 CI 结果用GET /repos/{o}/{r}/commits/{sha}/statuses;迁移创建的仓库默认关 Actions 单元(PATCH /repos/{o}/{r} {"has_actions":true}开启) - 签名密钥:
~/.tauri/dev-manager-tauri.key(2026-07-02 换钥,旧钥 .old-locked 备份),密码双写 Gitea Secrets + 炼境密钥凭据库(密钥类 secret 单一存储 = 定时炸弹)
任务卡
✅ CI/CD 配置 CRUD
- status: done
- files: src-tauri/src/commands/cicd.rs, src/components/dashboard/CicdModal.tsx
保存和读取 CI/CD 配置(部署类型、触发分支、构建命令等)。
✅ Workflow 文件生成
- status: done
- files: src-tauri/src/commands/cicd.rs
根据配置自动生成 .github/workflows/ 下的 YAML 文件。
✅ Web SSH 部署模板
- status: done
- files: src-tauri/src/commands/cicd.rs
生成基于 appleboy/ssh-action 的部署 workflow。
✅ Tauri OSS 分发模板
- status: done
- files: src-tauri/src/commands/cicd.rs
生成 Tauri 构建 + 签名 + 阿里云 OSS 上传的 release workflow。
✅ Actions 运行历史
- status: done
- files: src/components/dashboard/CicdModal.tsx
查看 GitHub Actions 运行状态,支持手动触发。
⚠️ 已随 github-decommission(2026-07-02)移除,仅作历史记录;Gitea Actions 接入后按新事实源重建。
✅ T10. CI/CD 能力的 Agent 安全投影
- status: done
- complexity: M
- files: src-tauri/src/commands/cicd.rs, src-tauri/src/mcp_tools.rs, src-tauri/src/models.rs, src-tauri/src/lib.rs, src/lib/commands.ts, docs/ai-context/project-context.yaml, .agents/skills/lian-jing/SKILL.md, src-tauri/resources/onboarding/.agents/skills/lian-jing/SKILL.md, src-tauri/resources/onboarding/.lian-jing/capability-packs.json, .lian-jing/capability-packs.json, plugins/lian-jing-codex/.codex-plugin/plugin.json, plugins/lian-jing-codex/skills/lian-jing/SKILL.md
- acceptance: "agent_verify: [cargo test] plan_cicd_workflow(project_id, workflow_type) 返回目标文件、工具链来源、required_secrets、change 与 content_digest,且磁盘零写入;apply_cicd_workflow 在 confirmed=false、摘要不一致、未知项目、配置缺失、路径越界或工具链冲突时零写入并返回证据,只有 confirmed=true 且摘要匹配时写入预览对应的
.gitea/workflows/文件;[MCP schema] 支持 pr_ci/deepseek_review/web_ssh/tauri_oss,不暴露密钥值、任意命令或远程执行参数;cargo test --lib、pnpm typecheck、git diff --check 通过,pnpm-lock.yaml 无改动。" - decision_note: "保留 distribute_cicd 作为 pr_ci/deepseek_review 兼容入口;部署类 workflow 只开放 plan/apply,两阶段确认仅写项目文件,不触发 Gitea Actions、SSH、部署、回滚或 migration。"