本目录包含项目的CI/CD配置,支持主项目和MCP子包的独立发布流程。
.github/
├── workflows/ # GitHub Actions工作流
│ ├── ci.yml # 主测试套件
│ ├── release.yml # 主项目发布流程
│ ├── mcp-release.yml # MCP子包手动发布流程
│ ├── annotate-tag.yml # 标签注释工作流
│ ├── test-*.yml # 各种测试工作流
│ └── checklist-*.yml # 清单同步工作流
├── CI_RELEASE_GUIDE.md # CI/CD发布详细指南
└── README.md # 本文件
- 触发: Push到main/develop分支、Pull Request、每日定时
- 功能: 完整的测试套件(单元测试、集成测试、E2E测试、性能测试、安全扫描)
- Node版本: 18.x, 20.x
- 操作系统: Ubuntu, Windows, macOS
- 触发: Git标签推送(v*格式)或手动触发
- 功能: 发布主项目
codex-father到NPM和GitHub Release - 版本管理: 手动版本管理(基于Git标签)
- 触发: 仅手动触发
- 功能: 发布MCP子包
@starkdev020/codex-father-mcp-server - 发布模式:
preflight: 预检查模式dry-run: 预演模式local: 本地发布模式tag-only: 仅创建标签模式
- 触发: 手动触发
- 功能: 为现有Git标签添加发布说明注释
- 支持: 主项目标签(v*)和MCP标签(mcp-v*)
| 特性 | 主项目发布 | MCP子包发布 |
|---|---|---|
| 触发方式 | Git标签推送/手动 | 仅手动 |
| 版本格式 | vX.Y.Z |
mcp-vX.Y.Z |
| 包名 | codex-father |
@starkdev020/codex-father-mcp-server |
| 自动化程度 | 高(标签触发) | 低(手动控制) |
| 发布控制 | 基于Git标签 | 基于工作流输入 |
NPM_TOKEN: NPM包发布认证令牌
contents: write: 创建GitHub Release和Git操作pull-requests: write: 更新PR状态(MCP发布)
npm test # 运行所有测试
npm run test:unit # 单元测试
npm run test:integration # 集成测试
npm run test:e2e # E2E测试npm run release:mcp:preflight # MCP预检查
npm run release:mcp:dry-run 3.2.1 # MCP预演模式本项目已从semantic-release自动化版本管理迁移到手动版本管理:
- 自动版本号生成
- 基于commit消息自动生成CHANGELOG
- 自动发布到NPM和GitHub
- 手动指定版本号
- 手动创建Git标签
- 手动触发发布流程
- 更精确的发布控制
- 移除了semantic-release相关配置
- 新增独立的MCP发布工作流
- 更新了主项目发布流程以支持手动版本管理
- 增强了发布验证和错误处理
- 版本号格式: 必须使用语义化版本格式
X.Y.Z - 发布顺序: 先发布主项目,再发布MCP子包(如有依赖关系)
- 环境配置: 确保在GitHub仓库中正确配置
NPM_TOKEN - 测试验证: 发布前建议先运行预检查和预演模式
- 文档更新: 发布后及时更新相关文档
如有问题或建议,请:
- 查看工作流执行日志
- 参考 CI发布指南
- 创建GitHub Issue或Discussion